แ แแแแแแแแ แแแแก แฌแแ แแ แแแฎแแ แชแแแแแแแ OpenID Connect แกแแ แแแ แก, แ แแแ แแแแแ แแ แฌแแแแแ แฉแแแแก แแกแแแแ แจแแแ แแแแแแแชแแแแ. แฉแแแแ แกแแแฃแแแ แ แแแแแแแแ แแแแแแ, แฃแคแ แ แแชแแ แ แแแกแจแขแแแแ แแแกแแฎแแ แฎแแแแแ, แฉแแแ แแแแแแแแแ แแแแแแแ แแแฆแแแฃแ แกแขแแแแแ แขแแ. แชแแแขแ แแแฃแ แ แกแแ แแแกแแก แกแแจแฃแแแแแแ แฌแแแแแ แแแแจแแแแแแแแแ แแแแ แขแแแแแก แแ แแคแแ แแแแ แแแแ แแชแแแแก, แแแชแแ แแแก แแแขแแ แแแแชแแแก แแแแฎแแ แชแแแแแแแก แฆแแ แแแฃแแแแแก, แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแ แแ แแแแแ แแแ แแแแแฌแงแแแขแ แแ แแ แแแแ แฆแแแแ แขแแแแ แแฎแแแก แจแแแฃแจแแแแแแกแแก. แแ แกแขแแขแแแจแ แแ แแแกแแฃแแ แแ แแ แแแแแกแแแแแ แแ แแ แแฃแฌแฃแแแแแ, แ แแแแแแ แจแแแกแแแแช แแแแแฎแแ แฎแแ.
แแแแ แฎแแแก แฌแแ... แ แแแแ แแแแฌแงแ แแก แงแแแแแคแแ แ
แ แแแแแแแแ แฌแแแก แฌแแ, แ แแแแกแแช แซแแแแแ แแแแ แ แจแแแ แแแแแแแชแแ แแงแ แฎแแแแ แแแแขแ แแแแกแแแแก, แฉแแแ แแแแฌแแ แแ แแแแแแแชแแ แแแแแแแแแก แจแแแแแ แฌแแแแแแก แแแกแแแแแขแ แแแแแแแ. แแก แแงแ แแแ แขแแแ Rails แแแแแแแชแแ, แ แแแแแแช แฃแแแแจแแ แแแแแแ แแแแแชแแแแ แแแแแก แแแแแแจแ แแแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแ, แกแแแแช แแแแคแแแฃแ แแ แแแฃแแ แแงแ แฌแแแแแ แกแฎแแแแแกแฎแแ แคแฃแแฅแชแแแแแ. แแแแแแ แแฃแแแ, แฉแแแ แจแแแฅแแแแแ แแแ แแแแ SSO, แ แแแแแแช แแคแฃแซแแแแแแ แขแแแแแแแแก แแแแแแแฌแแแแแก แแแแแแขแแกแ แแ แแแขแแ แแแแชแแแก แกแแ แแแ แแก แแฎแ แแแแ, แแแขแแแ แแแแแแชแแแ แแแจแแคแ แฃแแ แกแแฎแแ แ แแแแแแแแ แแแ แแแแขแ แแ แแ แแแแแฌแแแแฃแแ แแงแ แแแขแแ แแแแชแแแก แกแแ แแแ แแ. แแก แแ แแงแ แงแแแแแแ แแแกแแฎแแ แฎแแแแแ แแแ แแแแขแ, แ แแแแแ แแแแแแฃแ แจแแแ แแแแแแแชแแแก แฃแแแ แแฆแแฌแแ แ แแแแแแแก แแแแจแแแแแแแแแ แคแแแ แแ แแแแแแจแ แแแแแแแก แแแแแชแแแแ แแแแแแ แแแแแแแแ แกแแแฅแ แแแแแแแฃแแ แแงแ แแแขแแ แแแแชแแแก แกแแ แแแ แแแ.
แแแ แแแแฃแแ แแแ แแแแแก แจแแแแแ, แฉแแแ แแแแแแฌแงแแแขแแ แแแแแ แขแแแแแฃแแแงแ แชแแแขแ แแแแแแแฃแแ แแแขแแ แแแแชแแแก แแแแชแแแ. SSO แแแแแแชแ แแแแแแกแแ แก. OpenResty-แแก แแแฎแแแ แแแแ Lua-แก แแแแแแขแ แจแแแแแแ, แ แแแแแแช แแแแฌแแแแแ แขแแแแแแแก, แแชแแแ แ แแแแ แแแแแแแชแแแจแ แแแแแแแ แแแแฎแแแแ แแ แจแแแซแแ แจแแแแแฌแแแแแแ, แแงแ แแฃ แแ แ แแฅ แฌแแแแแ. แแ แแแแแแแแ แแแแจแแแแแแแแแ แแแแแแ แขแแแ แจแแแ แแแแแแแชแแแแแ แฌแแแแแแก แแแแขแ แแแแก แแแแชแแแ - แแแแแแฃแแ แแแแแแแชแแแก แแแแจแ แแฆแแ แแงแ แกแแญแแ แ แแแแแขแแแแแ แแแแแแแก แแฆแฌแแ แ. แจแแแแแแ, แฉแแแ แแแแฎแฃแ แแ แขแ แแคแแแ แแแ แแแแ แแ แแแแแ แแแแแแแชแแแ แแ แแคแแ แ แแชแแแ แแแขแแ แแแแชแแแก แจแแกแแฎแแ.
แแฃแแชแ, แแ แแ แแ แแแแแแ แแแแแฃแญแ แแแ แแแ แฉแ. แ แแช แจแแแฎแแแ แแแแแแแชแแแแก, แ แแแแแแกแแช แกแญแแ แแแแแ แแแคแแ แแแชแแ แแแแแแจแ แแแแแแแก แจแแกแแฎแแ? แจแแกแแซแแแแแแ แแงแ API-แแก แแแฌแแ แ แแแขแแ แแแแชแแแก แกแแ แแแกแแกแแแแก, แแแแ แแ แจแแแแแ แแฅแแแ แแแแแฌแแแ แแแแแขแแแแแ แแแแแแแก แแแแแขแแแ แแแแแแฃแแ แแกแแแ แแแแแชแฎแแแแกแแแแก. แแแ แแ แแแแกแ, แแแแแแแแ แแแแแแฆแฌแแ แแแแแแแแแแฃแแแแ แแ แ-แแ แ แฉแแแแก แแแแ แแแฌแแ แแ แแแแแแแชแแแแ, แ แแแแแแช แแแแแแแแแแแ แแแแ แแแแแแ OpenSource-แจแ, แฉแแแแก แจแแแ แแแขแแ แแแแชแแแก แกแแ แแแ แแ. แแแแแ แกแฎแแ แแ แแก แแแกแแฃแแ แแแ. OAuth แแแฎแแ แแ แแแ แแ แแแแแแแก แแแแแฌแงแแแขแ.
แกแแแ แแ แกแขแแแแแ แขแแแแ
OAuth แแ แแก แแแกแแแแแ, แแแแแแแ แแแฆแแแฃแแ แแแขแแ แแแแชแแแก แกแขแแแแแ แขแ, แแแแ แแ แ แแแแแ แแฎแแแแ แแแกแ แคแฃแแฅแชแแแแแ แแแ แแ แแ แแก แกแแแแแ แแกแ, แแแ แแแฃแงแแแแแแแแ แแแแฌแงแแก OpenID Connect (OIDC) แแแแฎแแแแ. OIDC แแแแแกแแแแแ แแ แแก แฆแแ แแแขแแ แแแแชแแแก แกแขแแแแแ แขแแก แแแกแแแ แแแแแแแแแขแแชแแ, แ แแแแแแช แจแแแแแแแ แแแแแแแขแจแ OAuth 2.0 แแ แแขแแแแแแ (แฆแแ แแแขแแ แแแแชแแแก แแ แแขแแแแแ). แแก แแแแแกแแแแแ แฎแฃแ แแแก แกแแแแแแ แแแแฎแแแ แแแแแก แจแแกแแฎแแ แแแแแชแแแแแแก แแแแแแแแแแก แแ แแแแแแแก แแ แแกแแแ แจแแกแแซแแแแแแก แฎแแแก แแแขแแ แแแแชแแแก แแ แแแแแแแ แแก แจแแชแแแแก.
แแฃแแชแ, แฉแแแ แแ แแแแ แฉแแแ แแแแแ แแขแฃแแ แแ แแแแแแแ แ แแ แแแแแแฌแงแแแขแแ แแแแแแแแขแแแแแ แแแขแแแ แแชแแ OIDC-แแแ แฉแแแแ แแ แกแแแฃแแ แแแขแแ แแแแชแแแก แกแแ แแแ แแกแแแแก. แแ แแแแแฌแงแแแขแแแแแแก แกแแกแแ แแแแแแ แแงแ แแก แคแแฅแขแ, แ แแ OIDC แแ แแก แซแแแแแ แแแฅแแแแ แกแแแแแแ แแแแฎแแแ แแแแแก แแแขแแ แแแแชแแแก แแแแแกแแแ แแกแแ. แแแ แแแแ, แจแแกแแซแแแแแแ แแแฎแแ OIDC แแฎแแ แแแญแแ แแก แแแแแ แแแ แแฅแแแแก แแแแแแแแแแ แแแขแแ แแแแชแแแก แกแแ แแแ แแ.
แฉแแแแ แกแแแฃแแแ แ OIDC แกแแ แแแ แแก แแแแแ แแแแก แฉแแแแ แแแ
1) แแแแขแแแแ แแแแแชแแแแแ แกแแกแฃแ แแแ แคแแ แแแจแ
OIDC-แแก แแแขแแแ แแ แแแแกแแแแก แแฃแชแแแแแแแแ แแแแฎแแแ แแแแแก แแแแแแแแ แ แแแแแชแแแแแแก แกแขแแแแแ แขแแ แแแกแแแแ แคแแ แแแจแ แแแงแแแแ. OIDC-แจแ แแแแก แแ แแขแแแแแแแ แแฌแแแแแ. แแ แแขแแแแแแแ แแ แกแแแแแแ แกแแแแแแ แแแแแแแ แแแแฎแแแ แแแแแก แแแแแชแแแแ แแแแแจแ (แกแแฎแแแ, แแแคแแกแขแ, แขแแแแคแแแ แแ แ.แจ.). แแ แกแแแแแก
แแแจแแแแแก แฏแแฃแคแ แแแแ แแแแแแแฃแแแ แจแแแแแ แฅแแแฏแแฃแคแจแ - Scope. แแแขแแ แแแแชแแแก แแ แแก, แฌแแแแแ แแแแแฎแแแแแ แแ แ แแแแแ แแขแฃแ แแ แแแแแแแ, แแ แแแแ แกแแแแแแแ, แแแจแแแแช แแ, แแฃ แแแแแแ แแ แแ แแแแ แแ แแ แแก แกแแญแแ แ แกแคแแ แแแแ.
2) แแแแฎแแ แชแแแแแ แกแแญแแ แ แแ แแแขแแแ
OIDC-แแก แแแขแแแ แแชแแแก แจแแแแแแ แแแฌแแแ แแ แแก แแแขแแ แแแแชแแแก แขแแแแแแก, แ.แฌ. แแ แแแขแแแแก แจแแ แฉแแแ แแ แแแแฎแแ แชแแแแแแ. แแ แฉแแฃแ แแแแแแแชแแแกแ แแ แแแขแแ แแแแชแแแก แกแแ แแแ แก แจแแ แแก แฃแ แแแแ แแฅแแแแแแแก แจแแแแแแแ แกแชแแแแ แ แแแแแแแแแแฃแแ แแฅแแแแ แแ แฉแแฃแ แแ แแแขแแ. แกแฌแแ แ แแ แแแขแแก แแ แฉแแแแก แกแแแแแแแแแ แกแฅแแแ แแแฉแแแแแแแ แฅแแแแแ แแแชแแแฃแ แคแแแฃแ แแจแ.
แฉแแแแ แแแ แแแแ แแแแแชแฎแแแแกแแแแก แแแแแแแงแแแแ แงแแแแแแ แแแแ แชแแแแแฃแแ แแ แแแขแ, แแแขแแ แแแแชแแแก แแแแ. แแแกแ แแแแกแฎแแแแแแ แกแฎแแแแแกแแแ แแ แแก แแก, แ แแ แกแแแกแแคแแฎแฃแ แแแแแ, แ.แ. แแแแแก แแแแแขแแแแ แขแแกแขแแ แแแแก. แฏแแ แแแแฎแแแ แแแแแ แแแแแแแก แแแขแแ แแแแชแแแก แแแแแ แแแแก แแแแฎแแแแแก, แแฆแแแก แแแขแแแก - แแแขแแ แแแแชแแแก แแแแก, แจแแแแแ แแ แแแขแแแแ, แแแแฅแแก แแแแแแฃแ แแแแก แแแแแแแ, แแแฎแแแก แฌแแแแแแก แแแขแแแก. แแ แแแขแแ แแแแชแแแก แกแแ แแแขแแก แงแแแแ แซแแ แแแแแ แฃแ แแแแ แแฅแแแแแแ แแคแฃแซแแแแ แแแแแแแกแแแแ แแแแแแก แแแแแแแชแแแกแ แแ แแแขแแ แแแแชแแแก แกแแ แแแ แก แจแแ แแก. แแ แแ แแแขแแก แจแแกแแฎแแ แแแขแ แจแแแแซแแแแ แฌแแแแแแฎแแ
OAuth แแชแแแก แแแแชแแคแชแแแก, แ แแ แแแขแแ แแแแชแแแก แจแแแแแ แแแฆแแแฃแแ แฌแแแแแแก แแแจแแแแ แแ แแแแแแ แฃแแแ แแงแแก แแ แฃแแแ แจแแแชแแแแแก, แกแแกแฃแ แแแแแ แกแแจแฃแแแแ แงแแแแ 10 แฌแฃแแจแ แแ แแฎแแ. แแแขแแ แแแแชแแแก แแแแแก แแ แแแขแ แแ แแก แกแแแแขแแแแแแ แแแแแแแฌแแแแ แแแแแแแกแแแแ แแแแแก แกแแจแฃแแแแแแ, แงแแแแ 10 แฌแฃแแจแ แแกแแแ แแแแแฏแแก แแแแแแแแ, แแฃแแฌแ แคแแแแ แ แแ แแแฅแแแ, แแ แแ แแก แงแแแแแแ แกแแกแแแแแแแ แแแแชแแแ แแแแแแกแแแแก. แแ แแ แแแแแแแก แแแแแกแแญแ แแแแ แแ แแก แแแแแ แแ แแ แแ แแแขแ - Refresh Token, แ แแแแแแช แแกแแแ แแแแแแแงแแแแ แฉแแแแก แฅแแแงแแแแจแ. แแฅ แงแแแแแคแแ แ แฃแคแ แ แแแแแแแ. แกแฎแแ แแ แแแขแแแแ แแแแแแแฌแแแแแกแแก, แซแแ แแแแแ แฌแแแแแแก แแแขแแแแก แแแ แแ, แแแแชแแแ แแแแแ แแ แแ - Refresh Token, แ แแแแแก แแแแแงแแแแแ แจแแกแแซแแแแแแแ แแฎแแแแ แแ แแฎแแ แแ แแแกแ แกแแชแแชแฎแแ, แ แแแแ แช แฌแแกแ, แแแชแแแแแแ แแ แซแแแแ. แแ Refresh Token-แแ, แ แแแแกแแช แซแแ แแแแแ แฌแแแแแแก แแแขแแแแก TTL (แกแแชแแชแฎแแแก แแ แ) แแแกแ แฃแแแแแ, แแฎแแแ แฌแแแแแแก แแแขแแแแก แแแแฎแแแแ แแแแ แกแฎแแ แแ แแแขแแก แแแแ แฌแแ แขแแแแแแ. แแแแแงแแแแแฃแแ Refresh Token แแงแแกแแแ แแ แแฆแแแแแ แแฃแแแแแ. แแก แจแแแแฌแแแแ แแ แแขแแแแแแแ แแ แจแแแซแแแแ แจแแกแ แฃแแแแก แคแแแแ, แแแแฎแแแ แแแแแกแแแแก แจแแฃแแฉแแแแแแ.
3) แแแแงแแแแ แกแแแแแ แแแแแชแแแแแแก แแแแแแแแแแ แคแแ แแแขแแแ
แจแแ แฉแแฃแแ แแ แแแขแแแแก แแแแฎแแ แชแแแแแแแก, แแแขแแ แแแแชแแแก แกแแแฃแจแแแแแแก แจแแแแแ, แแฆแกแแแแจแแแแแ แกแแแแแแ แแแแฎแแแ แแแแแก แจแแกแแฎแแ แแแแแชแแแแแแก แแแฆแแแ. OIDC-แก แแฅแแก แชแแแแ แแแกแแกแ แฃแแ แแแแกแแแแแก, แกแแแแช แจแแแแซแแแแ แแแแแฎแแแแ แแแแฎแแแ แแแแแก แแแแแชแแแแแ แแฅแแแแ แแแแแแแแ แ แฌแแแแแแก แแแจแแแ แแ แแฃ แแก แแแแแฎแแแแฃแแแ. แแ แแฃ แแแแฎแแแ แแแแแก แแแแแชแแแแแ แแกแ แฎแจแแ แแ แแ แแชแแแแแ แแ แแฅแแแ แแแแ แฏแแ แแญแแ แแแแแ แแแฐแงแแแ แแแแแแแแ แแแแก, แจแแแแซแแแแ แแแฎแแแแแ แแกแแ แแแแแฌแงแแแขแแแแ, แ แแแแ แแชแแ JWT แขแแแแแแแ. แแก แแแจแแแแ แแกแแแ แแฎแแ แแแญแแ แแแแ แกแขแแแแแ แขแแ. แแแแแ JWT แขแแแแแ แจแแแแแแ แกแแแ แแแฌแแแแกแแแ: แกแแแแฃแ แ (แแแคแแ แแแชแแ แขแแแแแแก แจแแกแแฎแแ), payload (แแแแแกแแแแ แ แกแแญแแ แ แแแแแชแแแ) แแ แฎแแแแแฌแแ แ (แฎแแแแแฌแแ แ, แแแขแแแก แฎแแแก แแฌแแ แก แกแแ แแแ แ แแ แแแแแแแแแแแ แจแแแแซแแแแ แจแแแแแฌแแแ แแแกแ แฎแแแแแฌแแ แแก แฌแงแแ แ).
OIDC แแแแแ แแแแกแแก, JWT แขแแแแแก แแฌแแแแแ id_token. แแก แจแแแซแแแแ แแแแแฎแแแแก แฉแแแฃแแแแ แแ แฌแแแแแแก แแแขแแแแแ แแ แแแ แแ แ แฉแแแ แแฎแแแแ แฎแแแแแฌแแ แแก แแแแแแแฌแแแแ. แแแขแแ แแแแชแแแก แกแแ แแแ แก แแฅแแก แชแแแแ แแแกแแกแ แฃแแ แแแแกแแแแแก แคแแ แแแขแจแ แกแแฏแแ แ แแแกแแฆแแแแแแก แกแแแ แแแแแ
แแแแแแแแแ Google-แจแ:
{
"issuer": "https://accounts.google.com",
"authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"device_authorization_endpoint": "https://oauth2.googleapis.com/device/code",
"token_endpoint": "https://oauth2.googleapis.com/token",
"userinfo_endpoint": "https://openidconnect.googleapis.com/v1/userinfo",
"revocation_endpoint": "https://oauth2.googleapis.com/revoke",
"jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
"response_types_supported": [
"code",
"token",
"id_token",
"code token",
"code id_token",
"token id_token",
"code token id_token",
"none"
],
"subject_types_supported": [
"public"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"scopes_supported": [
"openid",
"email",
"profile"
],
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"client_secret_basic"
],
"claims_supported": [
"aud",
"email",
"email_verified",
"exp",
"family_name",
"given_name",
"iat",
"iss",
"locale",
"name",
"picture",
"sub"
],
"code_challenge_methods_supported": [
"plain",
"S256"
],
"grant_types_supported": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:device_code",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
]
}
แแแ แแแแ, id_token-แแก แแแแแงแแแแแแ, แแฅแแแ แจแแแแซแแแแ แแแแแแขแแแแ แงแแแแ แกแแญแแ แ แแแจแแแ แขแแแแแแก แแแขแแแ แแแแแ แแ แงแแแแ แฏแแ แแ แแ แแแฃแแแแจแแ แแแ แแแขแแ แแแแชแแแก แกแแ แแแ แก แแแแฎแแแ แแแแแก แแแแแชแแแแแแก แแแแฎแแแแแ. แแ แแแแแแแแก แแแแฃแกแ แแ แแก แแก, แ แแ แกแแ แแแ แแแแ แแแแฎแแแ แแแแแก แแแแแชแแแแแแก แชแแแแแแแ แแ แฎแแแแ แแแฃแงแแแแแแแแ, แแ แแแแ แแฎแแ แฌแแแแแแก แแแขแแแแแ แแ แแแ.
แแแแฎแแ แชแแแแแแแก แจแแแแแแแ
แแกแ แ แแ, แฉแแแแ OIDC แกแแ แแแ แแก แแแแแ แแแแกแ แแ แแแกแแแ แแแแจแแ แแแแก แแแแแแแชแแแก แแฎแแ แแก แแแแคแแแฃแ แแชแแแก แจแแแแแ, แฉแแแ แแแแแแฌแงแแแขแแ แแแแฎแแแ แแแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแก แแแแแชแแแแก แแ แแแแแแ.
แแแแแแแแ OIDC แแ แแก แฆแแ แกแขแแแแแ แขแ, แฉแแแ แแแแฅแแก แจแแกแแซแแแแแแแ แแแแ แฉแแแ แแ แกแแแฃแแ แแ แแแแแแแ แ แแ แกแแ แแแ แแก แแแแฎแแ แชแแแแแแ. แฉแแแ แแชแแแแ Keycloak, แ แแแแแแช แแฆแแแฉแแแ แซแแแแแ แแแกแแฎแแ แฎแแแแแ แแแแคแแแฃแ แแชแแแกแแแแก, แแแแแแแชแแแก แแฎแแ แแก แแแแจแแ แแก แแแแคแแแฃแ แแชแแแก แแแงแแแแแแกแ แแ แจแแชแแแแก แจแแแแแ, แแก แแแแ แแ แแก แฌแแกแแกแแแแแแ. แแแแแชแฎแแแแก แแฎแแ แแก แ แฉแแแ แแฎแแแแ แแแแจแแ แแก แแแแคแแแฃแ แแชแแแก แจแแชแแแ.
แกแแฃแแแ แ แแ แกแแแฃแ แแแแแฌแงแแแขแแแแแแแแ
แฉแแแแ แแ แแแแแแแชแแแก แคแแ แแแแแจแ, แ แแแแ แช แแแ แแแแ OIDC แกแแ แแแ แ, แฉแแแ แจแแแแ แแแแ แกแแแฃแแแ แ แแแแแแแแแขแแชแแ, แ แแแแแแช แกแแญแแ แแแแแกแแแแแ แแแแแแขแ. แกแฎแแ แแแ แแแแแฌแงแแแขแแแแแแแแก แแแขแแแฃแ แ แแแแแฎแแแแแก แจแแแแแ, แจแแแแแซแแแ แแแฅแแแ, แ แแ แแก แกแแแแแ แกแแแแแฎแแ. แกแแแฃแแแ แ แกแแ แแแ แแก แแแแแ แแแแก แแแแแฌแงแแแขแแแแแแก แกแแกแแ แแแแแแ, แแงแ แแ แแแแแแแ แแแแก แแฎแ แแแแ แจแแจแคแแแแแ แกแแญแแ แ แคแฃแแฅแชแแแแแ แแแแก แแ แแ แกแแแแแแก แแแแ, แแกแแแ แ แแแแ แช แซแแแแ แกแแกแขแแแแก แแ แกแแแแแ, แ แแแแแจแแช แแงแ แกแฎแแแแแกแฎแแ แกแแแแแ แแแขแแ แแแแชแแ แแแแแแ แแ แกแแ แแแกแแกแแแแก แแ แกแแแแแแ แแแแ แ. แแแแแแจแ แแแแแแแก แจแแกแแฎแแ แแแแแชแแแแแ แฃแแแ แจแแแแฎแฃแแ แแงแ. แแฃแแชแ, แแแ แแแแแ แแแแจแ แแ แแก แแแขแแแ แแชแแแก แแแฎแแ แฎแแแฃแแแแ. แแแแแแแแแ, Keycloak-แก แแฅแแก แแแแฎแแแ แแแแแก แแแ แแแแก แกแแแฃแแแ แ แกแแกแขแแแ แแ แแแแแชแแแแแ แแแแฎแแแ แฃแจแฃแแแแ แแแกแจแ แแ แแฅ แแฅแแแแ แแแแฎแแแ แแแแแแแก แแแกแฌแ แแแ แ แแฃแแ แแ แแฅแแแแ. แแแแกแแแแแก Keycloak-แก แแฅแแก API, แ แแแแแแช แกแแจแฃแแแแแแก แแแแชแแแ แกแ แฃแแแ แแแแแฎแแ แชแแแแแ แงแแแแ แกแแญแแ แ แแแแแชแแแแก แแแฅแแแแแแ.
แกแแ แขแแคแแชแแ แแแฃแแ, แกแแแแขแแ แแกแ, แฉแแแ แแแ แแ, แแแแฎแแ แชแแแแแแแก แแแแแ แแ แแ แแแแแแแแแ Ory Hydra. แกแแแแขแแ แแกแแ, แ แแแแแ แแแ แจแแแแแแ แกแฎแแแแแกแฎแแ แแแแแแแแแขแแกแแแ. แแแขแแแ แแชแแแกแแแแก, แแฅแแแ แฃแแแ แแแฃแแแแจแแ แแ แแฅแแแแ แแแแฎแแแ แแแแแก แแแ แแแแก แกแแ แแแกแ แแแ แแแขแแ แแแแชแแแก แกแแ แแแกแก แแ แแแแแ แซแแแแ แกแแญแแ แแแแแกแแแแแ .
Keycloak แแ Ory Hydra แแ แแ แแก แแ แแแแแ แแ แแแแแกแแแแแ. แฃแแฏแแแแกแแ แแแ แฉแแแ OpenID Foundation-แแก แแแแ แแแแแฌแแแแฃแแ แแแแฎแแ แชแแแแแแ. แแ แแแแแฌแงแแแขแแแแแแแก, แ แแแแ แช แฌแแกแ, แแฅแแ OpenID แกแแ แขแแคแแแแชแแแก แแแฏแ.
แแกแแแ แแ แแแแแแฌแงแแ แแ แกแแแฃแแ แคแแกแแแแ แแ แแแแแแแ แแแ, แแฃ แแ แแกแฃแ แ แแฅแแแแ OIDC แกแแ แแแ แแก แจแแแแ แฉแฃแแแแ. แแฆแแก แแแแ แ แแแ แแ แแแ แแแแขแแ.
แ แ แแ แแก แจแแแแแแ
แฃแแฎแแแแก แแแแแแแแจแ แแแแแ แแแ แกแฎแแแแแแ แแ แแแแฎแฃแ แแ แจแแแ แกแแ แแแกแแแแก แขแ แแคแแแ. แฉแแแ แแแแแแแแ แแแแแแแขแแแแ แฉแแแแ แแแแแแแแแแแ SSO แแแแแแกแแ แแ OpenResty-แแก แแแแแงแแแแแแ แแ แแฅแกแแแ, แ แแแแแแช แแแคแฃแซแแแแฃแแแ OAuth-แแ. แแฅ แฃแแแ แแแแ แ แแแ แแแแแกแแแแแแ, แแแแแแแแแ:
แแแแแขแแแแแ แแแกแแแแแ
แฌแงแแ แ: www.habr.com