ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਲਈ ਪਛਾਣ, ਖੁੱਲ੍ਹੇ ਮਿਆਰਾਂ ’ਤੇ
ਤੁਹਾਨੂੰ ਅੰਦਰ ਲੈ ਜਾਂਦਾ ਹੈ।
ਇੱਕ ਖਾਤਾ। ਹਰ ਦਰਵਾਜ਼ਾ।
Usher Identity ਲੋਕਾਂ ਨੂੰ OpenID Connect ਅਤੇ OAuth 2.1 ਨਾਲ ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਵਿੱਚ ਸਾਈਨ ਇਨ ਕਰਵਾਉਂਦਾ ਹੈ: ਪਾਸਕੀਆਂ, ਕੋਡ, ਸੋਸ਼ਲ ਸਾਈਨ-ਇਨ ਅਤੇ ਸੰਸਥਾਵਾਂ, ਅਤੇ ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਬਾਕੀ ਸਭ ਤੋਂ ਵੱਖਰਾ ਰਹਿੰਦਾ ਹੈ।
ਸ਼ੁਰੂਆਤ ਮੁਫ਼ਤ। ਤੁਹਾਡੇ ਆਪਣੇ ਸਰਵਰਾਂ ’ਤੇ ਵੀ ਚੱਲਦਾ ਹੈ।
- OpenID Connect
- OAuth 2.1
- PKCE
- WebAuthn
- JWKS
- DPoP
- TOTP
ਲਾਬੀ
ਸਾਈਨ‑ਇਨ ਪੰਨਾ ਜੋ ਸਵਾਗਤ ਕਰਦਾ ਹੈ, ਪੁੱਛਗਿੱਛ ਨਹੀਂ।
ਲਾਬੀ ਉਹ ਸਾਈਨ-ਇਨ ਪੰਨਾ ਹੈ ਜੋ Usher Identity ਤੁਹਾਡੀ ਐਪ ਲਈ ਹੋਸਟ ਕਰਦਾ ਹੈ। ਇਹ ਹਮੇਸ਼ਾ ਦੱਸਦੀ ਹੈ ਕਿ ਵਿਅਕਤੀ ਕਿੱਥੇ ਜਾ ਰਿਹਾ ਹੈ, ਅਤੇ ਕਿਸੇ ਵੀ ਐਪ ਨੇ ਭੇਜਿਆ ਹੋਵੇ, ਇੱਕੋ ਜਿਹੀ ਦਿਸਦੀ ਹੈ, ਤਾਂ ਜੋ ਲੋਕ ਉਸ ’ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਸਿੱਖ ਲੈਣ।
- ਹਰ ਵਾਰ ਉਸ ਉਤਪਾਦ ਦਾ ਨਾਮ ਦੱਸਦੀ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਜਾ ਰਹੇ ਹੋ।
- ਪਾਸਕੀਆਂ, ਈਮੇਲ ਰਾਹੀਂ ਭੇਜੇ ਕੋਡ ਅਤੇ ਮੈਜਿਕ ਲਿੰਕ, ਅਤੇ ਪਾਸਵਰਡ ਸਿਰਫ਼ ਜੇ ਤੁਸੀਂ ਚਾਹੋ।
- ਹਰ ਉਤਪਾਦ ਵਿੱਚ ਉਹੀ ਸ਼ਾਂਤ ਪੰਨਾ, ਲਾਈਟ ਜਾਂ ਡਾਰਕ।
ਇਹ ਲਾਬੀ ਦੀ ਚੱਲਦੀ ਕਾਪੀ ਹੈ। ਇਹ ਇਸ ਪੰਨੇ ਵਿੱਚ ਚੱਲਦੀ ਹੈ, ਕੁਝ ਨਹੀਂ ਭੇਜਦੀ, ਅਤੇ ਕਿਸੇ ਨੂੰ ਸਾਈਨ ਇਨ ਨਹੀਂ ਕਰਦੀ।
ਮਿਆਰ, ਬੰਧਨ ਨਹੀਂ
ਉਹ ਪ੍ਰੋਟੋਕੋਲ ਬੋਲਦਾ ਹੈ ਜੋ ਤੁਹਾਡਾ ਸਟੈਕ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦਾ ਹੈ।
Usher Identity ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ OpenID Connect ਪ੍ਰਦਾਤਾ ਹੈ। ਜਦੋਂ ਠੀਕ ਲੱਗੇ ਸਾਡਾ SDK ਵਰਤੋ, ਜਾਂ ਕਿਸੇ ਵੀ ਭਾਸ਼ਾ ਵਿੱਚ ਕੋਈ ਵੀ OIDC ਲਾਇਬ੍ਰੇਰੀ। ਜੇ ਤੁਸੀਂ ਕਦੇ ਛੱਡ ਕੇ ਜਾਓ, ਤਾਂ ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਨੂੰ ਲੋਕਾਂ ਨੂੰ ਸਾਈਨ ਇਨ ਕਰਵਾਉਣ ਦਾ ਤਰੀਕਾ ਬਦਲਣਾ ਨਹੀਂ ਪੈਂਦਾ।
- OIDC Core · Discovery
OpenID Connect
ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਲਈ ਇੱਕ ਡਿਸਕਵਰੀ ਦਸਤਾਵੇਜ਼, ID ਟੋਕਨ ਅਤੇ userinfo। ਕੋਈ ਵੀ ਪ੍ਰਮਾਣਿਤ ਕਲਾਇੰਟ ਲਾਇਬ੍ਰੇਰੀ ਕੰਮ ਕਰਦੀ ਹੈ।
- ਸਿਰਫ਼ S256
PKCE ਨਾਲ OAuth 2.1
ਹਰ ਕਲਾਇੰਟ ਲਈ PKCE ਨਾਲ ਅਧਿਕਾਰ ਕੋਡ, ਚਾਹੇ ਪਬਲਿਕ ਹੋਵੇ ਜਾਂ ਗੁਪਤ। ਨਾ implicit ਫਲੋ, ਨਾ ਟੋਕਨ ਐਂਡਪੁਆਇੰਟ ਵਿੱਚ ਪਾਸਵਰਡ।
- RS256 · ES256 · EdDSA
JWKS ਅਤੇ ਕੁੰਜੀ ਰੋਟੇਸ਼ਨ
ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਆਪਣੀਆਂ ਕੁੰਜੀਆਂ ਨਾਲ ਸਾਈਨ ਕਰਦਾ ਹੈ, ਜੋ ਉਸਦੇ jwks_uri ’ਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਹੁੰਦੀਆਂ ਹਨ। ਸਾਈਨ ਇਨ ਕੀਤੇ ਲੋਕਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ ਬਿਨਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਰੋਟੇਟ ਕਰੋ।
- RFC 7662 · RFC 7009
ਇੰਟਰੋਸਪੈਕਸ਼ਨ ਅਤੇ ਰੱਦ ਕਰਨਾ
ਪੁੱਛੋ ਕਿ ਟੋਕਨ ਅਜੇ ਵੀ ਠੀਕ ਹੈ, ਜਾਂ ਉਸਨੂੰ ਹੁਣੇ ਖ਼ਤਮ ਕਰੋ। Usher Identity ਹਰ ਬੇਨਤੀ ’ਤੇ ਆਪਣੇ ਸੈਸ਼ਨ ਜਾਂਚਦਾ ਹੈ, ਇਸ ਲਈ ਕਿਸੇ ਨੂੰ ਖ਼ਤਮ ਕਰਨਾ ਤੁਰੰਤ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।
RP ਵੱਲੋਂ ਸ਼ੁਰੂ ਕੀਤਾ ਅਤੇ ਬੈਕ-ਚੈਨਲ ਲੌਗਆਊਟ
ਆਪਣੀ ਐਪ ਤੋਂ ਸਾਈਨ ਆਊਟ ਕਰੋ, ਜਾਂ ਜਦੋਂ ਕਿਤੇ ਵੀ ਕੋਈ ਸੈਸ਼ਨ ਖ਼ਤਮ ਹੋਵੇ ਤਾਂ Usher Identity ਤੋਂ ਹਰ ਐਪ ਨੂੰ ਦੱਸਵਾਓ।
- RFC 9449
DPoP
ਟੋਕਨਾਂ ਨੂੰ ਉਸ ਕੁੰਜੀ ਨਾਲ ਬੰਨ੍ਹੋ ਜੋ ਕਲਾਇੰਟ ਕੋਲ ਹੈ, ਤਾਂ ਜੋ ਚੋਰੀ ਹੋਇਆ ਟੋਕਨ ਇਕੱਲਾ ਕਿਸੇ ਕੰਮ ਦਾ ਨਾ ਰਹੇ।
- WebAuthn
ਪਾਸਕੀਆਂ
ਪੂਰੀ ਤਰ੍ਹਾਂ ਸ਼ਾਮਲ, ਕੋਈ ਵਾਧੂ ਜੋੜ ਨਹੀਂ। ਲੋਕ ਉਂਗਲ ਦੇ ਨਿਸ਼ਾਨ, ਚਿਹਰੇ ਜਾਂ ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰਦੇ ਹਨ, ਅਤੇ ਫਿਸ਼ਿੰਗ ਲਈ ਕੁਝ ਨਹੀਂ ਹੁੰਦਾ।
- TOTP
ਔਥੈਂਟੀਕੇਟਰ ਐਪ
ਕਿਸੇ ਵੀ ਔਥੈਂਟੀਕੇਟਰ ਤੋਂ ਸਮੇਂ ’ਤੇ ਅਧਾਰਿਤ ਕੋਡ, ਬੈਕਅੱਪ ਕੋਡਾਂ ਸਮੇਤ। ਦੂਜੇ ਫੈਕਟਰ ਨੂੰ ਵਿਕਲਪਿਕ ਜਾਂ ਲਾਜ਼ਮੀ ਬਣਾਓ।
ਮੈਜਿਕ ਲਿੰਕ
ਇਨਬਾਕਸ ਤੋਂ ਇੱਕ ਟੈਪ। ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ, ਇੱਕੋ ਵਾਰ ਵਰਤੋਂ ਲਈ, ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਭੇਜਣ ਵਾਲੇ ਐਨਵਾਇਰਨਮੈਂਟ ਨਾਲ ਬੰਨ੍ਹੇ ਹੋਏ।
ਈਮੇਲ ਕੋਡ
ਛੇ ਅੰਕ, ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਲਈ ਜੋ ਇੱਕ ਡਿਵਾਈਸ ’ਤੇ ਸਾਈਨ ਇਨ ਕਰਦੇ ਹਨ ਅਤੇ ਦੂਜੇ ’ਤੇ ਈਮੇਲ ਪੜ੍ਹਦੇ ਹਨ।
ਸੋਸ਼ਲ ਸਾਈਨ-ਇਨ
Google, GitHub, Microsoft ਅਤੇ Apple। ਖਾਤਾ ਸਿਰਫ਼ ਉਦੋਂ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਉਸਦੀ ਈਮੇਲ ਸਾਬਤ ਹੋ ਚੁੱਕੀ ਹੋਵੇ।
ਸੰਸਥਾਵਾਂ ਅਤੇ ਟੀਮਾਂ
ਤੁਹਾਡੀ ਐਪ ਵਰਤਣ ਵਾਲੇ ਕਾਰੋਬਾਰਾਂ ਲਈ ਮੈਂਬਰ, ਭੂਮਿਕਾਵਾਂ ਅਤੇ ਸੱਦੇ।
- ਜਲਦੀ ਆ ਰਿਹਾ ਹੈ
SAML
ਤੁਹਾਡੇ ਗਾਹਕਾਂ ਦੇ ਕਰਮਚਾਰੀ ਪਛਾਣ ਪ੍ਰਦਾਤਾਵਾਂ ਨਾਲ ਸਿੰਗਲ ਸਾਈਨ-ਆਨ।
- ਜਲਦੀ ਆ ਰਿਹਾ ਹੈ
SCIM
ਤੁਹਾਡੇ ਗਾਹਕਾਂ ਦੀਆਂ ਡਾਇਰੈਕਟਰੀਆਂ ਤੋਂ ਖਾਤੇ ਬਣਾਉਣਾ ਅਤੇ ਹਟਾਉਣਾ।
ਸਾਈਨ-ਇਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
ਪੰਜ ਕਦਮ, ਹਰ ਇੱਕ ਮਿਆਰੀ।
ਇਹ OpenID Connect ਦਾ PKCE ਨਾਲ ਅਧਿਕਾਰ ਕੋਡ ਫਲੋ ਹੈ, ਉਹੀ ਫਲੋ ਜੋ ਹਰ ਗੰਭੀਰ ਪਛਾਣ ਪ੍ਰਦਾਤਾ ਵਰਤਦਾ ਹੈ। ਸਕ੍ਰੋਲ ਕਰਕੇ ਦੇਖੋ।
- 01
ਤੁਹਾਡੀ ਐਪ ਉਨ੍ਹਾਂ ਨੂੰ ਲਾਬੀ ਵੱਲ ਭੇਜਦੀ ਹੈ।
ਜਦੋਂ ਕੋਈ Usher Identity ਨਾਲ ਜਾਰੀ ਰੱਖੋ ਚੁਣਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡੀ ਐਪ ਉਸਨੂੰ ਤੁਹਾਡੇ ਐਨਵਾਇਰਨਮੈਂਟ ਦੇ ਅਧਿਕਾਰ ਐਂਡਪੁਆਇੰਟ ’ਤੇ ਰੀਡਾਇਰੈਕਟ ਕਰਦੀ ਹੈ, ਇੱਕ PKCE ਚੁਣੌਤੀ ਅਤੇ ਇੱਕ state ਮੁੱਲ ਨਾਲ, ਜਿਸਨੂੰ ਉਹ ਬਾਅਦ ਵਿੱਚ ਜਾਂਚੇਗੀ।
GET acme.usherid.com/api/auth/oauth2/authorize ?response_type=code &client_id=acme_web &redirect_uri=https://app.acme.example/callback &scope=openid profile email offline_access &state=k3Jx… &code_challenge=E9Mel…cM &code_challenge_method=S256
- 02
ਉਹ ਆਪਣੇ ਤਰੀਕੇ ਨਾਲ ਸਾਈਨ ਇਨ ਕਰਦੇ ਹਨ।
ਪਾਸਕੀ, ਈਮੇਲ ਰਾਹੀਂ ਭੇਜਿਆ ਕੋਡ, ਮੈਜਿਕ ਲਿੰਕ, ਸੋਸ਼ਲ ਖਾਤਾ ਜਾਂ ਪਾਸਵਰਡ: ਲਾਬੀ ਸਿਰਫ਼ ਉਹੀ ਪੇਸ਼ ਕਰਦੀ ਹੈ ਜਿਸਦੀ ਤੁਹਾਡਾ ਐਨਵਾਇਰਨਮੈਂਟ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਹਮੇਸ਼ਾ ਦੱਸਦੀ ਹੈ ਕਿ ਉਹ ਕਿਸ ਐਪ ਵੱਲ ਜਾ ਰਹੇ ਹਨ।
Usher IdentityUsher IdentityAcme ਵੱਲ ਜਾ ਰਹੇ ਹੋਮੁੜ ਜੀ ਆਇਆਂ ਨੂੰ।
ਪਾਸਕੀ ਵਰਤੋਮੈਨੂੰ ਈਮੇਲ ’ਤੇ ਕੋਡ ਭੇਜੋ - 03
ਉਹ ਸਾਂਝਾ ਕਰਨ ਲਈ ਸਹਿਮਤ ਹੁੰਦੇ ਹਨ।
ਪਹਿਲੀ ਵਾਰ, ਲੋਕ ਦੇਖਦੇ ਹਨ ਕਿ ਤੁਹਾਡੀ ਐਪ ਕੀ ਮੰਗ ਰਹੀ ਹੈ (ਉਨ੍ਹਾਂ ਦੀ ਪ੍ਰੋਫ਼ਾਈਲ, ਉਨ੍ਹਾਂ ਦੀ ਈਮੇਲ, ਸਾਈਨ ਇਨ ਰਹਿਣਾ) ਅਤੇ ਇੱਕ ਵਾਰ ਸਹਿਮਤੀ ਦਿੰਦੇ ਹਨ।
Acme ਇਹ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ:
- ਤੁਹਾਡਾ ਨਾਮ ਅਤੇ ਤਸਵੀਰ ਦੇਖਣਾ
- ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਦੇਖਣਾ
- ਤੁਹਾਨੂੰ ਸਾਈਨ ਇਨ ਰੱਖਣਾ
ਰੱਦ ਕਰੋਇਜਾਜ਼ਤ ਦਿਓ - 04
Usher Identity ਇੱਕ ਕੋਡ ਵਾਪਸ ਦਿੰਦਾ ਹੈ।
ਬ੍ਰਾਊਜ਼ਰ ਤੁਹਾਡੇ ਰੀਡਾਇਰੈਕਟ URI ’ਤੇ ਵਾਪਸ ਆਉਂਦਾ ਹੈ, ਪੰਜ ਮਿੰਟ ਚੱਲਣ ਵਾਲੇ ਇੱਕੋ ਵਾਰ ਵਰਤੋਂ ਦੇ ਕੋਡ ਅਤੇ ਤੁਹਾਡੇ ਭੇਜੇ state ਨਾਲ, ਜਿਸਨੂੰ ਤੁਹਾਡੀ ਐਪ ਜਾਂਚਦੀ ਹੈ।
302 Found Location: https://app.acme.example/callback ?code=SplxlOBeZQQYbYS6WxSbIA &state=k3Jx…
- 05
ਤੁਹਾਡੀ ਐਪ ਇਸਨੂੰ ਟੋਕਨਾਂ ਨਾਲ ਬਦਲਦੀ ਹੈ।
ਤੁਹਾਡਾ ਸਰਵਰ ਕੋਡ ਅਤੇ PKCE verifier ਟੋਕਨ ਐਂਡਪੁਆਇੰਟ ਨੂੰ ਭੇਜਦਾ ਹੈ। ਵਾਪਸ ਆਉਂਦੇ ਹਨ: ਇੱਕ ID ਟੋਕਨ ਜੋ ਦੱਸਦਾ ਹੈ ਕਿ ਉਹ ਕੌਣ ਹਨ, ਤੁਹਾਡੀ API ਲਈ ਇੱਕ ਐਕਸੈਸ ਟੋਕਨ, ਅਤੇ ਸਾਈਨ ਇਨ ਰਹਿਣ ਲਈ ਇੱਕ ਰਿਫ੍ਰੈਸ਼ ਟੋਕਨ।
POST acme.usherid.com/api/auth/oauth2/token grant_type=authorization_code&code=Splx… &code_verifier=dBjftJeZ4CVP… { "token_type": "Bearer", "access_token": "eyJhbGciOiJSUzI1NiIs…", "id_token": "eyJhbGciOiJSUzI1NiIs…", "refresh_token": "8xLOxBtZp8…", "expires_in": 600 }
ਬਣਤਰ ਤੋਂ ਹੀ ਵੱਖਰਾਪਣ
ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਆਪਣੀ ਵੱਖਰੀ ਇਮਾਰਤ ਹੈ।
ਤੁਹਾਡੇ ਪ੍ਰੋਡਕਸ਼ਨ ਅਤੇ ਡਿਵੈਲਪਮੈਂਟ ਐਨਵਾਇਰਨਮੈਂਟ, ਅਤੇ ਹਰ ਦੂਜੇ ਗਾਹਕ ਦੇ ਵੀ, ਕੋਈ ਵੀ ਅਹਿਮ ਚੀਜ਼ ਸਾਂਝੀ ਨਹੀਂ ਕਰਦੇ। ਇੱਕ ਵਿੱਚ ਹੋਈ ਗਲਤੀ ਦੂਜੇ ਨੂੰ ਨਾ ਪੜ੍ਹ ਸਕਦੀ ਹੈ, ਨਾ ਉਸ ਲਈ ਸਾਈਨ ਕਰ ਸਕਦੀ ਹੈ, ਨਾ ਉਸ ਵਿੱਚ ਸਾਈਨ ਇਨ ਕਰ ਸਕਦੀ ਹੈ।
- ਆਪਣਾ Postgres ਸਕੀਮਾ
- ਸਾਂਝੀ ਟੇਬਲ ਵਿੱਚ ਟੈਨੈਂਟ ਕਾਲਮ ਨਹੀਂ: ਐਨਵਾਇਰਨਮੈਂਟ ਲਈ ਬਣਾਇਆ ਸਕੀਮਾ, ਜਿਸ ਵਿੱਚ ਹੋਰ ਕੁਝ ਨਹੀਂ।
- ਆਪਣੀਆਂ ਸਾਈਨਿੰਗ ਕੁੰਜੀਆਂ
- ਇੱਕ ਐਨਵਾਇਰਨਮੈਂਟ ਦੇ ਟੋਕਨ ਕਦੇ ਵੀ ਦੂਜੇ ਦੀਆਂ ਕੁੰਜੀਆਂ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਹੋ ਸਕਦੇ।
- ਆਪਣੇ ਸੀਲ ਕੀਤੇ ਸੀਕ੍ਰੇਟ
- ਐਨਵਾਇਰਨਮੈਂਟ ਦੀ ਆਪਣੀ ਡਾਟਾ ਕੁੰਜੀ ਨਾਲ ਸੀਲ ਕੀਤੇ, ਜੋ ਆਪ ਇੱਕ ਮਾਸਟਰ ਕੁੰਜੀ ਨਾਲ ਲਪੇਟੀ ਹੁੰਦੀ ਹੈ।
- ਆਪਣਾ ਹੋਸਟ
- ਇਸ਼ੂਅਰ Usher ਦੀ ਸਾਈਟ ਅਤੇ Console ਤੋਂ ਵੱਖਰੇ ਡੋਮੇਨ ’ਤੇ ਹੁੰਦੇ ਹਨ, ਸਿਰਫ਼-ਹੋਸਟ ਕੁਕੀਜ਼ ਨਾਲ।
usheridentity.com
ਸਾਈਟ, Usher Identity Console, Usher Identity ਖਾਤੇ
*.usherid.com
ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਲਈ ਇੱਕ ਇਸ਼ੂਅਰ, ਵੱਖਰੇ ਡੋਮੇਨ ’ਤੇ
ਵਰਤੋਂਕਾਰ, ਸੈਸ਼ਨ ਅਤੇ ਟੋਕਨ ਇਸ ਐਨਵਾਇਰਨਮੈਂਟ ਲਈ ਬਣੇ ਸਕੀਮਾ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ। ਕੁਐਰੀਆਂ ਉਸੇ ਸਕੀਮਾ ’ਤੇ ਚੱਲਦੀਆਂ ਹਨ, ਕਦੇ ਵੀ ਟੈਨੈਂਟ ਕਾਲਮ ਵਾਲੀ ਸਾਂਝੀ ਟੇਬਲ ’ਤੇ ਨਹੀਂ।
Acme ਪ੍ਰੋਡਕਸ਼ਨ ਦਾ ਸੀਲ ਕੀਤਾ Google ਕਲਾਇੰਟ ਸੀਕ੍ਰੇਟ Northwind ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਕਾਪੀ ਕਰੋ।
ਡਿਵੈਲਪਰਾਂ ਲਈ
ਤੁਹਾਡਾ ਪਹਿਲਾ ਸਾਈਨ‑ਇਨ, ਤਿੰਨ ਤਰੀਕਿਆਂ ਨਾਲ।
SDK ਆਉਣ ’ਤੇ ਉਸਨੂੰ ਜੋੜੋ, ਉਹ OIDC ਲਾਇਬ੍ਰੇਰੀ ਵਰਤੋ ਜਿਸ ’ਤੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਭਰੋਸਾ ਕਰਦੇ ਹੋ, ਜਾਂ ਡਿਸਕਵਰੀ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹ ਕੇ ਸ਼ੁਰੂ ਕਰੋ। ਹੇਠਾਂ ਸਭ ਇੱਕੋ ਪ੍ਰੋਟੋਕੋਲ ਹੈ।
// app/layout.tsx
import { UsherProvider } from '@usher/nextjs'
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
<UsherProvider>{children}</UsherProvider>
</body>
</html>
)
}
// app/page.tsx
import { SignIn, UserButton, currentUser } from '@usher/nextjs'
export default async function Page() {
const user = await currentUser()
return user ? <UserButton /> : <SignIn />
}ਇਸਨੂੰ ਆਪ ਚਲਾਓ
ਤੁਹਾਡੇ ਸਰਵਰ, ਤੁਹਾਡੀਆਂ ਕੁੰਜੀਆਂ।
Usher Identity ਨੂੰ ਸੇਵਾ ਵਜੋਂ ਵਰਤੋ, ਜਾਂ ਉਹੀ ਪਲੇਟਫ਼ਾਰਮ ਆਪਣੇ ਸਰਵਰਾਂ ’ਤੇ, ਆਪਣੀਆਂ ਕੁੰਜੀਆਂ ਅਤੇ ਆਪਣੇ ਡਾਟਾਬੇਸ ਨਾਲ ਚਲਾਓ।
Docker
ਇੱਕ Compose ਫ਼ਾਈਲ: ਐਪਾਂ, Postgres, Valkey, Caddy ਐਜ ਅਤੇ ਈਗ੍ਰੈਸ ਪ੍ਰੌਕਸੀ। ਕੰਟੇਨਰ ਬਿਨਾਂ ਨਵੇਂ ਅਧਿਕਾਰਾਂ ਅਤੇ ਹਟਾਈਆਂ ਸਮਰੱਥਾਵਾਂ ਨਾਲ ਚੱਲਦੇ ਹਨ।
Ubuntu
ਇੱਕ ਸਾਦਾ Ubuntu ਸਰਵਰ ਕਾਫ਼ੀ ਹੈ। Caddy TLS ਸੰਭਾਲਦਾ ਹੈ, ਅਤੇ ਸੀਕ੍ਰੇਟ ਫ਼ਾਈਲਾਂ ਵਜੋਂ ਕੰਟੇਨਰਾਂ ਨੂੰ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ, ਕਦੇ ਇਮੇਜਾਂ ਵਿੱਚ ਨਹੀਂ ਪਾਏ ਜਾਂਦੇ।
Postgres
Postgres ਸਭ ਕੁਝ ਰੱਖਦਾ ਹੈ, ਹਰ ਐਨਵਾਇਰਨਮੈਂਟ ਲਈ ਇੱਕ ਸਕੀਮਾ। ਇਹ ਅਤੇ Valkey ਅਜਿਹੇ ਨੈੱਟਵਰਕ ’ਤੇ ਹਨ ਜਿੱਥੋਂ ਇੰਟਰਨੈੱਟ ਤੱਕ ਕੋਈ ਰਾਹ ਨਹੀਂ।
# on an Ubuntu server with Docker Engine and the Compose plugin
bash infra/scripts/setup-env.sh --prod \
--domain usher.example --tenant-domain usherid.example
docker compose -f compose.yaml -f compose.prod.yaml \
--profile core --profile apps --profile edge up -d --wait
pnpm db:migrate # applies the database migrationsਸੈਲਫ਼-ਹੋਸਟਿੰਗ ਦੀ ਪੂਰੀ ਗਾਈਡ ਆ ਰਹੀ ਹੈ। ਉੱਪਰ ਦਿੱਤੀਆਂ ਕਮਾਂਡਾਂ ਉਸਦੀ ਰੂਪ-ਰੇਖਾ ਹਨ।
ਆਪਣੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਅੰਦਰ ਲੈ ਜਾਓ।
ਇੱਕ ਵਰਕਸਪੇਸ ਅਤੇ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ, ਅਤੇ ਤੁਹਾਡਾ ਪਹਿਲਾ ਐਨਵਾਇਰਨਮੈਂਟ ਆਪਣੇ ਇਸ਼ੂਅਰ, ਕੁੰਜੀਆਂ ਅਤੇ ਲਾਬੀ ਨਾਲ ਆਉਂਦਾ ਹੈ।
ਇੱਕ ਵਾਰ ਸਾਈਨ ਇਨ ਕਰੋ। ਹਰ ਥਾਂ ਜੀ ਆਇਆਂ ਨੂੰ।