ആശയങ്ങൾ
ചില ആശയങ്ങൾ Usher-ലെ മിക്കവാറും എല്ലാം വിശദീകരിക്കുന്നു: കാര്യങ്ങൾ എവിടെയാണ്, ആരാണ് ടോക്കണുകൾ നൽകുന്നത്, ആളുകൾ എവിടെ സൈൻ ഇൻ ചെയ്യുന്നു, ഓരോ ടോക്കണും എത്ര നേരം നിലനിൽക്കും.
വർക്ക്സ്പെയ്സുകൾ, പ്രോജക്റ്റുകൾ, എൻവയോൺമെന്റുകൾ
- Usher Console-ലെ നിങ്ങളുടെ ടീമോ കമ്പനിയോ ആണ് ഒരു വർക്ക്സ്പെയ്സ്. അതിലെ അംഗങ്ങളും ഓഡിറ്റ് ലോഗും അതിന്റേതാണ്.
- ഒരു പ്രോജക്റ്റ് ഒരു ഉൽപ്പന്നമാണ്: നിങ്ങളുടെ വെബ് ആപ്പ്, അല്ലെങ്കിൽ ഒരു പാർട്ണർ പോർട്ടൽ. ഒരു വർക്ക്സ്പെയ്സിൽ പലതുണ്ടാകാം.
- ഒരു എൻവയോൺമെന്റ് ഒരു പ്രോജക്റ്റിന്റെ പ്രവർത്തിക്കുന്ന ഒരു പകർപ്പാണ്, സാധാരണയായി development, production. ആളുകളും ആപ്ലിക്കേഷനുകളും കീകളും ക്രമീകരണങ്ങളും എൻവയോൺമെന്റുകളിലാണ്.
വർക്ക്സ്പെയ്സ് · Acme Ltd
പ്രോജക്റ്റ് · വെബ്
- ഡെവലപ്മെന്റ് · wise-otter-42
- പ്രൊഡക്ഷൻ · acme
പ്രോജക്റ്റ് · പാർട്ണർ പോർട്ടൽ
- ഡെവലപ്മെന്റ് · calm-heron-17
- പ്രൊഡക്ഷൻ · 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 | ഒരു റിഫ്രഷ് ടോക്കൺ, അങ്ങനെ അവർ സൈൻ ഇൻ ചെയ്ത നിലയിൽ തുടരും. |