मजकुराकडे जा
दस्तऐवज · वर्कस्पेस, इश्युअर आणि टोकन

संकल्पना

काही कल्पना समजल्या की 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रिफ्रेश टोकन, म्हणजे ते साइन इन राहतात.