ਧਾਰਨਾਵਾਂ
ਕੁਝ ਵਿਚਾਰ 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 ਨਹੀਂ ਹੁੰਦੇ, ਅਤੇ ਕੁਕੀਜ਼ ਸਿਰਫ਼-ਹੋਸਟ ਹੁੰਦੀਆਂ ਹਨ: ਬ੍ਰਾਊਜ਼ਰ ਕਿਸੇ ਐਨਵਾਇਰਨਮੈਂਟ ਦੀਆਂ ਕੁਕੀਜ਼ ਸਿਰਫ਼ ਉਸੇ ਐਨਵਾਇਰਨਮੈਂਟ ਨੂੰ ਭੇਜਦਾ ਹੈ।
ਲਾਬੀ
ਲਾਬੀ ਉਹ ਸਾਈਨ-ਇਨ ਪੰਨਾ ਹੈ ਜੋ ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਆਪਣੇ ਇਸ਼ੂਅਰ ’ਤੇ ਹੋਸਟ ਕਰਦਾ ਹੈ। ਤੁਹਾਡਾ ਐਪ ਲੋਕਾਂ ਨੂੰ ਉੱਥੇ ਭੇਜਦਾ ਹੈ; ਇਹ ਉਹਨਾਂ ਨੂੰ ਸਾਈਨ ਇਨ ਕਰਵਾ ਕੇ ਵਾਪਸ ਭੇਜ ਦਿੰਦਾ ਹੈ।
- ਇਹ ਹਮੇਸ਼ਾ “ਵੱਲ ਜਾ ਰਹੇ ਹੋ” ਚਿੱਪ ਵਿੱਚ ਉਸ ਐਪ ਦਾ ਨਾਮ ਦੱਸਦਾ ਹੈ ਜਿੱਥੇ ਵਿਅਕਤੀ ਜਾ ਰਿਹਾ ਹੈ।
- ਇਹ ਸਿਰਫ਼ ਉਹੀ ਤਰੀਕੇ ਦਿੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਐਨਵਾਇਰਨਮੈਂਟ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ: ਪਾਸਕੀਆਂ, ਈਮੇਲ ਰਾਹੀਂ ਭੇਜੇ ਕੋਡ, ਮੈਜਿਕ ਲਿੰਕ, ਸੋਸ਼ਲ ਖਾਤੇ (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 | ਇੱਕ ਰਿਫ੍ਰੈਸ਼ ਟੋਕਨ, ਤਾਂ ਜੋ ਉਹ ਸਾਈਨ ਇਨ ਰਹਿਣ। |