భావనలు
Usherలో దాదాపు ప్రతిదాన్నీ కొన్ని ఆలోచనలు వివరిస్తాయి: ఏవి ఎక్కడ ఉంటాయి, టోకెన్లను ఎవరు జారీ చేస్తారు, వ్యక్తులు ఎక్కడ సైన్ ఇన్ చేస్తారు, ప్రతి టోకెన్ ఎంతకాలం ఉంటుంది.
వర్క్స్పేస్లు, ప్రాజెక్ట్లు, ఎన్విరాన్మెంట్లు
- వర్క్స్పేస్ అంటే Usher Consoleలో మీ బృందం లేదా కంపెనీ. దాని సభ్యులు, దాని ఆడిట్ లాగ్ దానికే చెందుతాయి.
- ప్రాజెక్ట్ అంటే ఒక ఉత్పత్తి: మీ వెబ్ యాప్, లేదా భాగస్వాముల పోర్టల్. ఒక వర్క్స్పేస్లో చాలా ప్రాజెక్ట్లు ఉండవచ్చు.
- ఎన్విరాన్మెంట్ అంటే ఒక ప్రాజెక్ట్ యొక్క నడుస్తున్న ఒక కాపీ, సాధారణంగా డెవలప్మెంట్, ప్రొడక్షన్. వ్యక్తులు, అప్లికేషన్లు, కీలు, సెట్టింగ్లు ఉండేది ఎన్విరాన్మెంట్లలోనే.
వర్క్స్పేస్ · Acme Ltd
ప్రాజెక్ట్ · వెబ్
- డెవలప్మెంట్ · wise-otter-42
- ప్రొడక్షన్ · acme
ప్రాజెక్ట్ · భాగస్వామి పోర్టల్
- డెవలప్మెంట్ · calm-heron-17
- ప్రొడక్షన్ · acme-partners
ఎన్విరాన్మెంట్లు ముఖ్యమైనదేదీ పంచుకోవు. ప్రతిదానికీ దాని సొంత Postgres స్కీమా, సొంత సైనింగ్ కీలు, సొంత డేటా కీతో సీల్ చేసిన సొంత సీక్రెట్లు ఉంటాయి. డెవలప్మెంట్లో సైన్ అప్ చేసిన వ్యక్తి ప్రొడక్షన్లో ఉండరు, ఒకదాని టోకెన్ను మరొకదాని కీలతో ఎప్పటికీ ధృవీకరించలేము.
వర్క్స్పేస్ అడ్మిన్ ఒక ప్రాజెక్ట్ పేరును టైప్ చేసిన తర్వాత, దాని అవలోకనం పేజీ చివరి నుండి దాన్ని తొలగించవచ్చు. దానిలోని ప్రతి ఎన్విరాన్మెంట్ ఒకేసారి పోతుంది: దాని వ్యక్తులు, అప్లికేషన్లు, కీలు, సెట్టింగ్లు, అది ఇచ్చిన ప్రతి సెషన్, ప్రతి టోకెన్. దాని చిరునామాలు స్పందించడం ఆపేస్తాయి, మళ్లీ ఎవరికీ ఇవ్వబడవు, కాబట్టి ఇంకా వాటిలో ఒకదాన్ని నమ్మే యాప్ను వేరొకరి ప్రాజెక్ట్ మోసం చేయలేదు.
ఇష్యూయర్లు
ప్రతి ఎన్విరాన్మెంట్ టెనెంట్ డొమైన్లోని దాని సొంత హోస్ట్లో ఉండే, దానికదే ఒక OpenID Connect ఇష్యూయర్:
https://<handle>.usherid.com- ప్రొడక్షన్ ఎన్విరాన్మెంట్లకు మీరు ఎంచుకునే హ్యాండిల్ ఉంటుంది: 3 నుండి 32 చిన్న ఆంగ్ల అక్షరాలు, అంకెలు, ఒంటరి హైఫన్లు, ఉదాహరణకు మీ కంపెనీ పేరు. ఒకసారి ఉపయోగించిన హ్యాండిల్ మళ్లీ ఎవరికీ ఇవ్వబడదు.
- డెవలప్మెంట్ ఎన్విరాన్మెంట్లకు
wise-otter-42వంటి యాదృచ్ఛిక హ్యాండిల్ వస్తుంది, దాన్ని ఎవరూ ఒక బ్రాండ్గా పొరబడరు.
ఎన్విరాన్మెంట్ సృష్టించినప్పుడే ఇష్యూయర్ స్థిరపడుతుంది, ఎందుకంటే అది సైన్ చేసే ప్రతి టోకెన్ issలో దాని పేరును చెబుతుంది, దాన్ని నమ్మే ప్రతి యాప్ ఆ విలువను తనిఖీ చేస్తుంది.
టెనెంట్ డొమైన్ Usher సొంత డొమైన్ (usheridentity.com) కంటే వేరే రిజిస్టర్ చేయదగిన డొమైన్, కాబట్టి ఒక కస్టమర్ సైన్-ఇన్ పేజీలు Usher Consoleతో ఎప్పుడూ same-site కావు, కుకీలు host-only: బ్రౌజర్ ఒక ఎన్విరాన్మెంట్ కుకీలను ఆ ఎన్విరాన్మెంట్కు మాత్రమే పంపుతుంది.
లాబీ
లాబీ అనేది ప్రతి ఎన్విరాన్మెంట్ తన ఇష్యూయర్ వద్ద హోస్ట్ చేసే సైన్-ఇన్ పేజీ. మీ యాప్ వ్యక్తులను అక్కడికి పంపుతుంది; అది వారిని సైన్ ఇన్ చేసి తిరిగి పంపుతుంది.
- వ్యక్తి ఏ యాప్కు వెళ్తున్నారో అది “కొనసాగుతోంది” చిప్లో ఎప్పుడూ చూపిస్తుంది.
- ఎన్విరాన్మెంట్ అనుమతించే పద్ధతులను మాత్రమే అది అందిస్తుంది: పాస్కీలు, ఇమెయిల్లో పంపిన కోడ్లు, మ్యాజిక్ లింక్లు, సోషల్ ఖాతాలు (Google, GitHub, Microsoft, Apple), పాస్వర్డ్లు.
- అది రెండవ ఫ్యాక్టర్ను తప్పనిసరి చేయగలదు: అథెంటికేటర్ యాప్ (బ్యాకప్ కోడ్లతో) లేదా పాస్కీ.
- అది అందరికీ తెరిచి ఉండవచ్చు, లేదా చిరునామాలు, డొమైన్ల అతిథి జాబితాకు మాత్రమే పరిమితం కావచ్చు.
వ్యక్తిని ఏ ఉత్పత్తి పంపినా అది ఒకేలా కనిపిస్తుంది. ఇది ఉద్దేశపూర్వకం: అసలైన లాబీ ఎలా ఉంటుందో వ్యక్తులు నేర్చుకుంటారు, ఒక పేజీ అది కానప్పుడు గమనిస్తారు.
Usher ఖాతాలు
చాలా ఎన్విరాన్మెంట్లకు వాటి సొంత యూజర్లు ఉంటారు. Usher ఖాతాలు వేరు: Continue with 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 | రిఫ్రెష్ టోకెన్, తద్వారా వారు సైన్ ఇన్ అయి ఉంటారు. |