ખ્યાલો
થોડા ખ્યાલો Usher ની લગભગ દરેક વસ્તુ સમજાવે છે: વસ્તુઓ ક્યાં રહે છે, ટોકન કોણ જારી કરે છે, લોકો ક્યાં સાઇન ઇન કરે છે, અને દરેક ટોકન કેટલો સમય ચાલે છે.
વર્કસ્પેસ, પ્રોજેક્ટ અને એન્વાયર્નમેન્ટ
- વર્કસ્પેસ એ Usher Console માં તમારી ટીમ કે કંપની છે. તેના સભ્યો અને તેનો ઑડિટ લૉગ તેના જ હોય છે.
- પ્રોજેક્ટ એક પ્રોડક્ટ છે: તમારી વેબ ઍપ, અથવા પાર્ટનર પોર્ટલ. એક વર્કસ્પેસમાં ઘણા પ્રોજેક્ટ હોઈ શકે છે.
- એન્વાયર્નમેન્ટ પ્રોજેક્ટની એક ચાલતી નકલ છે, સામાન્ય રીતે development અને production. લોકો, ઍપ્લિકેશન, કી અને સેટિંગ્સ એન્વાયર્નમેન્ટમાં જ રહે છે.
વર્કસ્પેસ · Acme Ltd
પ્રોજેક્ટ · વેબ
- development · wise-otter-42
- production · acme
પ્રોજેક્ટ · પાર્ટનર પોર્ટલ
- development · calm-heron-17
- production · acme-partners
એન્વાયર્નમેન્ટ મહત્ત્વનું કંઈ પણ શૅર કરતાં નથી. દરેકનો પોતાનો Postgres સ્કીમા, પોતાની સાઇનિંગ કી, અને પોતાની ડેટા કી હેઠળ સીલ કરેલાં પોતાનાં સીક્રેટ હોય છે. development માં સાઇન અપ કરનાર વ્યક્તિ production માં અસ્તિત્વમાં હોતી નથી, અને એકનું ટોકન ક્યારેય બીજાની કી વડે ચકાસાઈ શકતું નથી.
વર્કસ્પેસ ઍડમિન પ્રોજેક્ટનું નામ ટાઇપ કર્યા પછી, તેના ઝાંખી પેજના અંતેથી તેને ડિલીટ કરી શકે છે. તેમાંનું દરેક એન્વાયર્નમેન્ટ એક સાથે જાય છે: તેના લોકો, ઍપ્લિકેશન, કી અને સેટિંગ્સ, અને તેણે આપેલું દરેક સેશન અને ટોકન. તેનાં સરનામાં જવાબ આપવાનું બંધ કરે છે અને ફરી ક્યારેય અપાતાં નથી, તેથી હજુ તેમાંના કોઈ પર ભરોસો કરતી ઍપને બીજા કોઈનો પ્રોજેક્ટ છેતરી શકતો નથી.
ઇશ્યુઅર
દરેક એન્વાયર્નમેન્ટ પોતાનો અલગ OpenID Connect ઇશ્યુઅર છે, ટેનન્ટ ડોમેન પર પોતાના હોસ્ટ પર:
https://<handle>.usherid.com- Production એન્વાયર્નમેન્ટનું હેન્ડલ તમે પસંદ કરો છો: 3 થી 32 નાના અક્ષરો, અંકો અને એકલ હાઇફન, જેમ કે તમારી કંપનીનું નામ. એક વાર વપરાયેલું હેન્ડલ ફરી ક્યારેય અપાતું નથી.
- Development એન્વાયર્નમેન્ટને
wise-otter-42જેવું રૅન્ડમ હેન્ડલ મળે છે, જેને કોઈ બ્રાન્ડ સમજવાની ભૂલ નહીં કરે.
ઇશ્યુઅર એન્વાયર્નમેન્ટ બને ત્યારે જ નક્કી થઈ જાય છે, કારણ કે તે સાઇન કરે છે તે દરેક ટોકન iss માં તેનું નામ રાખે છે, અને તેના પર ભરોસો કરતી દરેક ઍપ એ વૅલ્યૂ તપાસે છે.
ટેનન્ટ ડોમેન Usher ના પોતાના ડોમેન (usheridentity.com) થી અલગ રજિસ્ટર કરી શકાય તેવું ડોમેન છે, તેથી ગ્રાહકનાં સાઇન-ઇન પેજ ક્યારેય Usher Console સાથે same-site હોતાં નથી, અને કૂકી હોસ્ટ-ઓન્લી હોય છે: બ્રાઉઝર એન્વાયર્નમેન્ટની કૂકી ફક્ત એ એન્વાયર્નમેન્ટને જ મોકલે છે.
લૉબી
લૉબી એ સાઇન-ઇન પેજ છે જે દરેક એન્વાયર્નમેન્ટ પોતાના ઇશ્યુઅર પર હોસ્ટ કરે છે. તમારી ઍપ લોકોને ત્યાં મોકલે છે; તે તેમને સાઇન ઇન કરાવીને પાછા મોકલે છે.
- તે “આગળ જઈ રહ્યા છો” ચિપમાં હંમેશાં એ ઍપનું નામ બતાવે છે જેમાં વ્યક્તિ જઈ રહી છે.
- તે ફક્ત એ જ રીતો આપે છે જેની એન્વાયર્નમેન્ટ મંજૂરી આપે છે: પાસકી, ઇમેઇલથી મોકલેલા કોડ, મૅજિક લિંક, સોશિયલ એકાઉન્ટ (Google, GitHub, Microsoft, Apple) અને પાસવર્ડ.
- તે બીજું ફૅક્ટર ફરજિયાત કરી શકે છે: ઑથેન્ટિકેટર ઍપ (બૅકઅપ કોડ સાથે) અથવા પાસકી.
- તે બધા માટે ખુલ્લી હોઈ શકે છે, અથવા સરનામાં અને ડોમેનની મહેમાન યાદી સુધી મર્યાદિત.
કોઈ પણ પ્રોડક્ટે વ્યક્તિને મોકલી હોય, તે એકસરખી દેખાય છે. આ જાણીજોઈને છે: લોકો શીખે છે કે સાચી લૉબી કેવી દેખાય છે, અને કોઈ પેજ લૉબી ન હોય ત્યારે ધ્યાનમાં આવે છે.
Usher એકાઉન્ટ
મોટા ભાગનાં એન્વાયર્નમેન્ટના પોતાના યુઝર હોય છે. Usher એકાઉન્ટ જુદાં છે: એક જ એકાઉન્ટ જે વ્યક્તિને Usher વડે આગળ વધો આપતી દરેક ઍપમાં સાઇન ઇન કરાવે છે. લોકો પોતાનું એકાઉન્ટ account.usheridentity.com પર મેનેજ કરે છે.
ટોકન અને તેમની અવધિ
| ટોકન | ડિફૉલ્ટ | કેટલું સેટ કરી શકાય | તે શા માટે છે |
|---|---|---|---|
| ઑથોરાઇઝેશન કોડ | 5 મિનિટ | નિશ્ચિત | ટોકનના બદલામાં એક વાર અપાય છે. એક જ વાર વાપરી શકાય. |
| ID ટોકન | 10 મિનિટ | 1 થી 60 મિનિટ | તમારી ઍપને જણાવે છે કે કોણે સાઇન ઇન કર્યું. API કૉલ કરવા માટે નહીં. |
| ઍક્સેસ ટોકન | 10 મિનિટ | 1 થી 60 મિનિટ | તમારા API ને મોકલાય છે, જે તેને તપાસે છે. |
| રિફ્રેશ ટોકન | 30 દિવસ | 1 થી 90 દિવસ | નવા ઍક્સેસ ટોકન મેળવે છે. દરેક ઉપયોગે રોટેટ થાય છે. offline_access જોઈએ. |
| મશીન ઍક્સેસ ટોકન | 15 મિનિટ | 1 થી 60 મિનિટ | client_credentials માટે: એવાં સર્વર જેની પાછળ કોઈ વ્યક્તિ નથી. |
| ઇમેઇલથી મોકલેલો કોડ, મૅજિક લિંક | 10 મિનિટ | નિશ્ચિત | એક સાઇન-ઇન માટે. કોડમાં ત્રણ પ્રયાસ મળે છે. |
લૉબીનાં સેશનની પણ અવધિ હોય છે: 7 દિવસ ઉપયોગ ન થાય તો સેશન પૂરું થાય છે (1 થી 30), અને કુલ 30 દિવસ પછી પણ (1 થી 90). ઇમેઇલ સરનામા જેવી કોઈ સંવેદનશીલ વસ્તુ બદલવા માટે છેલ્લી 10 મિનિટમાંનું સાઇન-ઇન જોઈએ.
સાઇનિંગ કી
ટોકન ડિફૉલ્ટ રૂપે RS256 વડે સાઇન થાય છે; કોઈ એન્વાયર્નમેન્ટ તેના બદલે ES256 અથવા EdDSA વાપરી શકે છે. પબ્લિક કી એન્વાયર્નમેન્ટના jwks_uri પર પ્રકાશિત થાય છે, તેથી તમારી લાઇબ્રેરી તેને મેળવે છે, અને કી રોટેટ થાય ત્યારે નવી કી લઈ લે છે.
સ્કોપ
| સ્કોપ | તમારી ઍપને શું મળે છે |
|---|---|
openid | જરૂરી. વ્યક્તિના sub સાથેનું ID ટોકન. |
profile | તેમનું નામ અને ફોટો. |
email | તેમનું ઇમેઇલ સરનામું, અને તે ચકાસાયેલું છે કે નહીં. |
offline_access | રિફ્રેશ ટોકન, જેથી તેઓ સાઇન ઇન રહે. |