SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

ืื™ืŸ ืงื™ื™ืŸ ื’ืจื•ื™ืก ืคื™ืจืžืข, ืื•ืŸ X5 ืจืขื˜ืึทื™ืœ ื’ืจื•ืคืข ืื™ื– ืงื™ื™ืŸ ื•ื™ืกื ืขื, ื•ื•ื™ ืขืก ื“ืขื•ื•ืขืœืึธืคึผืก, ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ื•ื•ืึธืก ื“ืึทืจืคืŸ ื‘ืึทื ื™ืฆืขืจ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื™ื ืงืจื™ืกื™ื–. ืื™ื‘ืขืจ ืฆื™ื™ึทื˜, ืกื™ืžืœืึทืก ื™ื‘ืขืจื’ืึทื ื’ ืคื•ืŸ ื™ื•ื–ืขืจื– ืคื•ืŸ ืื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ืื ื“ืขืจืŸ ืื™ื– ืคืืจืœืื ื’ื˜, ืื•ืŸ ืขืก ืื™ื– ืึท ื ื•ื™ื˜ ืฆื• ื ื•ืฆืŸ ืึท ืื™ื™ืŸ-ืกื™ื ื’-ืื•ื™ืฃ (SSO) ืกืขืจื•ื•ืขืจ. ืึธื‘ืขืจ ื•ื•ืึธืก ื•ื•ืขื’ืŸ ื•ื•ืขืŸ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– ืึทื–ืึท ื•ื•ื™ AD ืึธื“ืขืจ ืื ื“ืขืจืข ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื ืึธืš ืึทื˜ืจื™ื‘ื™ื•ืฅ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื’ืขื ื™ืฆื˜ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก. ื ืงืœืึทืก ืคื•ืŸ ืกื™ืกื˜ืขืžืขืŸ ื’ืขืจื•ืคืŸ "ื™ื“ืขื ื˜ื™ืคื™ืงืึทื˜ื™ืึธืŸ ื‘ืจืึธืงืขืจืก" ื•ื•ืขื˜ ืงื•ืžืขืŸ ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ. ื“ื™ ืžืขืจืกื˜ ืคืึทื ื’ืงืฉืึทื ืึทืœ ื–ืขื ืขืŸ ื–ื™ื™ึทืŸ ืคืืจืฉื˜ื™ื™ืขืจืก, ืึทื–ืึท ื•ื•ื™ Keycloak, Gravitee ืึทืงืกืขืก ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืืื–"ื• ื•. ืจื•ื‘ึฟ ืึธืคื˜, ื ื•ืฆืŸ ืงืึทืกืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทื ื“ืขืจืฉ: ืžืึทืฉื™ืŸ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ, ื‘ืึทื ื™ืฆืขืจ ืึธื ื˜ื™ื™ืœ, ืืื–"ื• ื•. ื“ื™ ืœื™ื™ื–ื•ื ื’ ืžื•ื–ืŸ ืฉื˜ื™ืฆืŸ ืคืœืขืงืกืึทื‘ืึทืœ ืื•ืŸ ืกืงืึทืœืึทื‘ืœืข ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื•ื•ืึธืก ืงืขื ืขืŸ ืคืึทืจื‘ื™ื ื“ืŸ ืึทืœืข ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืื™ืŸ ืื™ื™ืŸ, ืื•ืŸ ืึทื–ืึท ืกืึทืœื•ืฉืึทื ื– ืื•ื ื“ื–ืขืจ ืคื™ืจืžืข ืื™ืฆื˜ ื”ืื˜ ืึทืŸ ืึธื ื•ื•ื™ื™ึทื– ืžืขืงืœืขืจ - Keycloak.

SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

Keycloak ืื™ื– ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืื•ืŸ ืึทืงืกืขืก ืงืึธื ื˜ืจืึธืœ ืคึผืจืึธื“ื•ืงื˜ ืžื™ื™ื ื˜ื™ื™ื ื“ ื“ื•ืจืš RedHat. ืขืก ืื™ื– ื“ื™ ื™ืงืขืจ ืคึฟืึทืจ ื“ื™ ืคื™ืจืžืข 'ืก ืคึผืจืึธื“ื•ืงื˜ืŸ ื ื™ืฆืŸ SSO - RH-SSO.

Basic concepts

ืื™ื™ื“ืขืจ ืื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ืกืึทืœื•ืฉืึทื ื– ืื•ืŸ ืึทืคึผืจืึธื•ื˜ืฉื™ื–, ืื™ืจ ื–ืึธืœ ื‘ืึทืฉืœื™ืกืŸ ืื™ืŸ ื˜ืขืจืžื™ื ืขืŸ ืื•ืŸ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ืคึผืจืึทืกืขืกืึทื–:

SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข ืื™ื– ืึท ืคึผืจืึธืฆืขื“ื•ืจ ืคึฟืึทืจ ื“ืขืจืงืขื ืขืŸ ืึท ื•ื ื˜ืขืจื˜ืขื ื™ืง ื“ื•ืจืš ื–ื™ื™ืŸ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ (ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ื“ืึธืก ืื™ื– ื“ื™ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืึท ื ืึธืžืขืŸ, ืœืึธื’ื™ืŸ ืึธื“ืขืจ ื ื•ืžืขืจ).

ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ - ื“ืึธืก ืื™ื– ืึทืŸ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืคึผืจืึธืฆืขื“ื•ืจ (ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืžื™ื˜ ืึท ืคึผืึทืจืึธืœ, ื“ืขืจ ื‘ืจื™ื•ื• ืื™ื– ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืžื™ื˜ ืึทืŸ ืขืœืขืงื˜ืจืึธื ื™ืฉ ื›ืกื™ืžืข, ืืื–"ื• ื•)

ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ - ื“ืึธืก ืื™ื– ื“ื™ ื˜ื ื™ื™ึท ืคื•ืŸ ืึทืงืกืขืก ืฆื• ืึท ืžื™ื˜ืœ (ืœืžืฉืœ, ืฆื• E- ืคึผืึธืกื˜).

ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืžืขืงืœืขืจ Keycloak

ืฉืœื™ืกืœืงืœืึธืง ืื™ื– ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืื•ืŸ ืึทืงืกืขืก ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืœื™ื™ื–ื•ื ื’ ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ื ื•ืฆืŸ ืื™ืŸ IS ื•ื•ื• ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคึผืึทื˜ืขืจื ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜.

Keycloak ืึธืคืคืขืจืก ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ืื™ื™ืŸ ืฆื™ื™ื›ืŸ-ืื•ื™ืฃ (SSO), ื‘ืจืึธืงืขืจืขื“ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืื•ืŸ ืกืืฆื™ืืœ ืœืึธื’ื™ืŸ, ื‘ืึทื ื™ืฆืขืจ ืคืขื“ืขืจื™ื™ืฉืึทืŸ, ืงืœื™ืขื ื˜ ืึทื“ืึทืคึผื˜ืขืจื–, ืึทื“ืžื™ืŸ ืงืึทื ืกืึธื•ืœ ืื•ืŸ ืึทืงืึทื•ื ื˜ ืžืึทื ืึทื’ืขืžืขื ื˜ ืงืึทื ืกืึธื•ืœ.

ื™ืงืขืจื“ื™ืง ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš Keycloak:

  • ืื™ื™ืŸ-ืฆื™ื™ื›ืŸ ืื•ื™ืฃ ืื•ืŸ ืื™ื™ืŸ-ืฆื™ื™ื›ืŸ ืื•ื™ืก ืคึฟืึทืจ ื‘ืœืขื˜ืขืจืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenID / OAuth 2.0 / SAML.
  • ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ื‘ืจืึธืงืขืจื™ื ื’ - ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ื ื™ืฆืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง OpenID Connect ืึธื“ืขืจ SAML ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–.
  • ืกืืฆื™ืืœ ืœืึธื’ื™ืŸ - Google, GitHub, Facebook, Twitter ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื‘ืึทื ื™ืฆืขืจ ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข.
  • ื‘ืึทื ื™ืฆืขืจ ืคืขื“ืขืจื™ื™ืฉืึทืŸ - ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื ื™ืฆืขืจืก ืคื•ืŸ LDAP ืื•ืŸ Active Directory ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืื ื“ืขืจืข ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–.
  • Kerberos ื‘ืจื™ืง - ื ื™ืฆืŸ ืึท Kerberos ืกืขืจื•ื•ืขืจ ืคึฟืึทืจ ืึธื˜ืึทืžืึทื˜ื™ืง ื‘ืึทื ื™ืฆืขืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ.
  • ืึทื“ืžื™ืŸ ืงืึทื ืกืึธื•ืœ - ืคึฟืึทืจ ื™ื•ื ืึทืคื™ื™ื“ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืคื•ืŸ ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ืœื™ื™ื–ื•ื ื’ ืึธืคึผืฆื™ืขืก ื“ื•ืจืš ื“ื™ ื•ื•ืขื‘.
  • ืึทืงืึทื•ื ื˜ ืžืึทื ืึทื’ืขืžืขื ื˜ ืงืึทื ืกืึธื•ืœ - ืคึฟืึทืจ ื–ื™ืš-ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืคื•ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืคึผืจืึธืคื™ืœ.
  • ืงื•ืกื˜ืึธืžื™ื–ืึทื˜ื™ืึธืŸ ืคื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืคึฟื™ืจืžืข ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคื•ืŸ ื“ื™ ืคื™ืจืžืข.
  • 2FA ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ - TOTP/HOTP ืฉื˜ื™ืฆืŸ ืžื™ื˜ Google Authenticator ืึธื“ืขืจ FreeOTP.
  • ืœืึธื’ื™ืŸ ืคืœืึธื•ื– - ื‘ืึทื ื™ืฆืขืจ ื–ื™ืš-ืจืขื’ื™ืกื˜ืจืึทืฆื™ืข, ืคึผืึทืจืึธืœ ืึธืคึผื–ื•ืš ืื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืง, ืื•ืŸ ืื ื“ืขืจืข ื–ืขื ืขืŸ ืžืขื’ืœืขืš.
  • ืกืขืกื™ืข ืžืึทื ืึทื’ืขืžืขื ื˜ - ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจืก ืงืขื ืขืŸ ืคื™ืจืŸ ื‘ืึทื ื™ืฆืขืจ ืกืขืฉืึทื ื– ืคื•ืŸ ืึท ืื™ื™ืŸ ืคื•ื ื˜.
  • ื˜ืึธืงืขืŸ ืžืึทืคึผืคึผืขืจืก - ื‘ื™ื™ื ื“ื™ื ื’ ื‘ืึทื ื™ืฆืขืจ ืึทื˜ืจื™ื‘ื™ื•ืฅ, ืจืึธืœืขืก ืื•ืŸ ืื ื“ืขืจืข ืคืืจืœืื ื’ื˜ ืึทื˜ืจื™ื‘ื™ื•ืฅ ืฆื• ื˜ืึธืงืขื ืก.
  • ืคืœืขืงืกืึทื‘ืึทืœ ืคึผืึธืœื™ื˜ื™ืง ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืึทืจื™ื‘ืขืจ ืžืขืœื•ื›ืข, ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื ื™ืฆืขืจืก.
  • CORS ืฉื˜ื™ืฆืŸ - ืงืœื™ืขื ื˜ ืึทื“ืึทืคึผื˜ืขืจื– ื”ืึธื‘ืŸ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืงืึธืจืก ืฉื˜ื™ืฆืŸ.
  • ืกืขืจื•ื•ื™ืก ืคึผืจืึทื•ื•ื™ื™ื“ืขืจ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– (SPI) - ื ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืกืคึผื™ืก ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืงืึทืกื˜ืึทืžื™ื™ื– ืคืึทืจืฉื™ื“ืŸ ืึทืกืคึผืขืงืฅ ืคื•ืŸ ื“ื™ ืกืขืจื•ื•ืขืจ: ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืคืœืึธื•ื–, ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–, ืคึผืจืึธื˜ืึธืงืึธืœ ืžืึทืคึผื™ื ื’, ืื•ืŸ ืžืขืจ.
  • ืงืœื™ืขื ื˜ ืึทื“ืึทืคึผื˜ืขืจื– ืคึฟืึทืจ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, WildFly, JBoss EAP, Fuse, Tomcat, Jetty, Spring.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืคืึทืจืฉื™ื“ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืฉื˜ื™ืฆืŸ ื“ื™ OpenID Connect Relying Party ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืึธื“ืขืจ SAML 2.0 ืกืขืจื•ื•ื™ืก ืคึผืจืึทื•ื•ื™ื™ื“ืขืจ ื‘ื™ื‘ืœื™ืึธื˜ืขืง.
  • ืขืงืกืคึผืึทื ื“ืึทื‘ืœืข ื ื™ืฆืŸ ืคึผืœื•ื’ื™ื ืก.

ืคึฟืึทืจ ืกื™ / ืกื™ ืคึผืจืึทืกืขืกืึทื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ Keycloak, ื“ื™ REST API / Java API ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜. ื“ืึธืงื•ืžืขื ื˜ืึทื˜ื™ืึธืŸ ืื™ื– ื‘ื ื™ืžืฆื ืขืœืขืงื˜ืจืึธื ื™ืฉ:

REST API https://www.keycloak.org/docs-api/8.0/rest-api/index.html
JAVA API https://www.keycloak.org/docs-api/8.0/javadocs/index.html

ืคืึทืจื ืขืžื•ื ื’ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– (ืื•ื™ืฃ-ืคึผืœืึทืฅ)

ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ ื ื™ืฆืขืจืก ื“ื•ืจืš ื‘ืึทื ื™ืฆืขืจ ืคืขื“ืขืจื™ื™ืฉืึทืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก.

SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

ื“ื•ืจื›ืคืึธืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ - ืื•ื™ื‘ ื™ื•ื–ืขืจื– ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ ืงืขื’ืŸ ื•ื•ืขืจืงืกื˜ื™ื™ืฉืึทื ื– ืžื™ื˜ Kerberos (LDAP ืึธื“ืขืจ AD), ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ืึทื“ ืฆื• Keycloak ืึธืŸ ื–ื™ื™ ื”ืึธื‘ืŸ ืฆื• ืึทืจื™ื™ึทืŸ ื–ื™ื™ืขืจ ื ืืžืขืŸ ืื•ืŸ ืคึผืึทืจืึธืœ ื•ื•ื™ื“ืขืจ.

ืคึฟืึทืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื•ื•ื™ื™ึทื˜ืขืจ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืคื•ืŸ ื™ื•ื–ืขืจื–, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืึท ืจื™ืœื™ื™ืฉืึทื ืึทืœ DBMS, ื•ื•ืึธืก ืื™ื– ืžืขืจืกื˜ ืึธื ื•ื•ืขื ื“ืœืขืš ืคึฟืึทืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ, ื•ื•ื™ื™ึทืœ ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื™ื™ึทื ืฆื™ืขืŸ ืœืึทื ื’ ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื™ ืคืจื™ ืกื˜ืึทื’ืขืก ืคื•ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก. ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, Keycloak ื ื™ืฆื˜ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ DBMS ืฆื• ืงืจืึธื ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ื‘ืึทื ื™ืฆืขืจ ื“ืึทื˜ืŸ.

ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืฉื˜ื™ืฆื˜ ื“ื‘ืžืก ืื™ื– ื‘ืจื™ื™ื˜ ืื•ืŸ ื›ื•ืœืœ: MS SQL, Oracle, PostgreSQL, MariaDB, Oracle ืื•ืŸ ืื ื“ืขืจืข. ื“ื™ ืžืขืจืกื˜ ื˜ืขืกื˜ืขื“ ื‘ื™ื– ืื™ืฆื˜ ื–ืขื ืขืŸ Oracle 12C Release1 RAC ืื•ืŸ Galera 3.12 ืงื ื•ื™ืœ ืคึฟืึทืจ MariaDB 10.1.19.

ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– - ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ืœืึธื’ื™ืŸ

ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืึท ืœืึธื’ื™ืŸ ืคึฟื•ืŸ ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ื ืขื˜ื•ื•ืึธืจืงืก. ืฆื• ื’ืขื‘ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ ื™ื•ื–ืขืจื–, ื ื•ืฆืŸ ื“ื™ Keycloack ืึทื“ืžื™ืŸ ืงืึทื ืกืึธื•ืœ. ืงื™ื™ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ื–ืขื ืขืŸ ืคืืจืœืื ื’ื˜ ืื•ืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื‘ื ื™ืžืฆื ืื•ื™ืก ืคื•ืŸ ื“ื™ ืงืขืกื˜ืœ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“ ืื™ืŸ ืงื™ื™ืŸ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืจื•ื™ืขืงื˜.

SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ OpenID / SAML ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– ืคึฟืึทืจ ื‘ืึทื ื™ืฆืขืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ.

ื˜ื™ืคึผื™ืฉ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืกื™ื ืขืจื™ืึธื•ื– ื ื™ืฆืŸ OAuth2 ืื™ืŸ Keycloak

ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืงืึธื•ื“ ืœื•ื™ืคืŸ - ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ื˜ื™ื™ืคึผืก ืคื•ืŸ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื’ืขื–ื•ื ื˜ ืกื•ื˜ืึทื“ ืคึฟืึทืจ ืกืขืจื•ื•ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ื• ื“ื™ ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ืงืœื™ืขื ื˜ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ืึทื•ืฆื™ื™ื“ืขืจื–. ื“ืขืจ ืคึผืจืึธืฆืขืก ืื™ืŸ ื“ืขื ืคืึทืœ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืจื™ื“ืขืจืขืงืฉืึทืŸ. ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื•ื–ืŸ ืงืขื ืขืŸ ืฆื• ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ืึท ื‘ืึทื ื™ืฆืขืจ ืึทื’ืขื ื˜ (ื‘ืึทื ื™ืฆืขืจ-ืึทื’ืขื ื˜), ืึทื–ืึท ื•ื•ื™ ืึท ื•ื•ืขื‘ ื‘ืœืขื˜ืขืจืขืจ - ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึทืคึผื™ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืงืึธื•ื“ื– ืจื™ื“ืขืจืขืงื˜ื™ื“ ื“ื•ืจืš ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืึทื’ืขื ื˜.

ื™ืžืคึผืœื™ืกืึทื˜ ืœื•ื™ืคืŸ - ื’ืขื•ื•ื™ื™ื ื˜ ื“ื•ืจืš ืจื™ืจืขื•ื•ื“ื™ืง ืึธื“ืขืจ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– (ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ ื‘ืึทื ื™ืฆืขืจ 'ืก ืžื™ื˜ืœ).

ื“ื™ ื™ืžืคึผืœื™ืกืึทื˜ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ื™ืคึผ ืื™ื– ื’ืขื ื™ืฆื˜ ื“ื•ืจืš ืจื™ืจืขื•ื•ื“ื™ืง ืื•ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ื• ืงืœื™ืขื ื˜ ืงืึทื ืคืึทื“ืขื ืฉื™ืึทืœืึทื˜ื™ ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขืจืึทื ื˜ื™ื“. ื“ื™ ื™ืžืคึผืœื™ืกืึทื˜ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ื™ืคึผ ืื•ื™ืš ื ื™ืฆื˜ ืจื™ื“ืขืจืขืงืฉืึทืŸ ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืึทื’ืขื ื˜, ื•ื•ืึธืก ื“ื™ ืึทืงืกืขืก ืกื™ืžืขืŸ ืื™ื– ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืึทื’ืขื ื˜ ืคึฟืึทืจ ื•ื•ื™ื™ึทื˜ืขืจ ื ื•ืฆืŸ ืื™ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ื“ืึธืก ืžืื›ื˜ ื“ื™ ืกื™ืžืขืŸ ื‘ื ื™ืžืฆื ืฆื• ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื•ืŸ ืื ื“ืขืจืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ื‘ืึทื ื™ืฆืขืจ 'ืก ืžื™ื˜ืœ. ื“ืขืจ ื˜ื™ืคึผ ืคื•ืŸ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื˜ื•ื˜ ื ื™ืฉื˜ ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ ื“ื™ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืื•ืŸ ื“ืขืจ ืคึผืจืึธืฆืขืก ื–ื™ืš ืจื™ืœื™ื™ื– ืื•ื™ืฃ ืึท ืจื™ื“ืขืจืขืงื˜ URL (ืคืจื™ืขืจ ืจืขื’ื™ืกื˜ืจื™ืจื˜ ืžื™ื˜ ื“ื™ ืกืขืจื•ื•ื™ืก).

ื™ืžืคึผืœื™ืกืึทื˜ ืคืœืึธื• ืฉื˜ื™ืฆื˜ ื ื™ืฉื˜ ืึทืงืกืขืก ื˜ืึธืงืขืŸ ื“ืขืจืคืจื™ืฉืŸ ื˜ืึธืงืขื ืก.

ืงืœื™ืขื ื˜ ืงืจืึทื“ืขื ื˜ืฉืึทืœื– ืฉืขื ืงืขืŸ ืคืœืึธื• - ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ื•ื•ืขืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทืงืกืขืก ื“ื™ API. ื“ืขืจ ื˜ื™ืคึผ ืคื•ืŸ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืื™ื– ื˜ื™ืคึผื™ืงืœื™ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืกืขืจื•ื•ืขืจ-ืฆื•-ืกืขืจื•ื•ืขืจ ื™ื ื˜ืขืจืึทืงืฉืึทื ื– ื•ื•ืึธืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื™ืŸ ื“ืขืจ ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜ ืึธืŸ ื’ืœื™ื™ืš ื‘ืึทื ื™ืฆืขืจ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ. ื“ืขืจ ืงืœื™ืขื ื˜ ืงืจืึทื“ืขื ื˜ืฉืึทืœ ืฉืขื ืงืขืŸ ืœื•ื™ืคืŸ ืึทืœืึทื•ื– ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ื™ืก (ืงืึทื ืคืึทื“ืขื ืฉืึทืœ ืงืœื™ืขื ื˜) ืฆื• ื ื•ืฆืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงืจืึทื“ืขื ื˜ืฉืึทืœื– ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื™ืžืคึผืขืจืกืึทื ื™ื™ื˜ื™ื ื’ ืึท ื‘ืึทื ื™ืฆืขืจ ืฆื• ืึธื˜ืขื ื˜ืึทืงื™ื™ื˜ ื•ื•ืขืŸ ืจื•ืคืŸ ืืŸ ืื ื“ืขืจ ื•ื•ืขื‘ ืกืขืจื•ื•ื™ืก. ืคึฟืึทืจ ืึท ื”ืขื›ืขืจ ืžื“ืจื’ื” ืคื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜, ืขืก ืื™ื– ืžืขื’ืœืขืš ืคึฟืึทืจ ื“ื™ ืคืึทืš ื“ื™ื ืกื˜ ืฆื• ื ื•ืฆืŸ ืึท ื‘ืึทื•ื•ื™ื™ึทื–ืŸ (ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึท ืฉืขืจื“ ืกื•ื“) ื•ื•ื™ ืึท ืงืจืึทื“ืขื ื˜ืฉืึทืœ.

ื“ื™ OAuth2 ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ
ืจืคืง-6749
ืจืคืง-8252
ืจืคืง-6819

JWT ื˜ืึธืงืขืŸ ืื•ืŸ ื–ื™ื™ึทืŸ ื‘ืขื ืขืคื™ืฅ

JWT (JSON ื•ื•ืขื‘ ื˜ืึธืงืขืŸ) ืื™ื– ืึทืŸ ืึธืคึฟืŸ ื ืึธืจืžืึทืœ (https://tools.ietf.org/html/rfc7519) ื•ื•ืึธืก ื“ื™ืคื™ื™ื ื– ืึท ืกืึธืœื™ื“ ืื•ืŸ ื–ื™ืš-ืงืึทื ื˜ื™ื™ื ื“ ื•ื•ืขื’ ืฆื• ืกื™ืงื™ื•ืจืœื™ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืฆื•ื•ื™ืฉืŸ ืคึผืึทืจื˜ื™ืขืก ื•ื•ื™ ืึท JSON ื›ื™ื™ืคืขืฅ.

ืœื•ื™ื˜ ื“ื™ ืกื˜ืึทื ื“ืึทืจื˜, ื“ื™ ืกื™ืžืขืŸ ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ื“ืจื™ื™ ืคึผืึทืจืฅ ืื™ืŸ ื‘ืึทื–ืข-64 ืคึฟืึธืจืžืึทื˜, ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ื“ืึทืฅ. ื“ืขืจ ืขืจืฉื˜ืขืจ ื˜ื™ื™ืœ ืื™ื– ื’ืขืจื•ืคืŸ ื“ื™ ื›ืขื“ืขืจ, ื•ื•ืึธืก ื›ึผื•ืœืœ ื“ื™ ื˜ื™ืคึผ ืคื•ืŸ ืกื™ืžืขืŸ ืื•ืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื”ืึทืฉ ืึทืœื’ืขืจื™ื“ืึทื ืคึฟืึทืจ ืงืจื™ื’ืŸ ืึท ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข. ื“ืขืจ ืฆื•ื•ื™ื™ื˜ืขืจ ื˜ื™ื™ืœ ืกื˜ืึธืจื– ื“ื™ ื™ืงืขืจื“ื™ืง ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข (ื‘ืึทื ื™ืฆืขืจ, ืึทื˜ืจื™ื‘ื™ื•ืฅ, ืืื–"ื• ื•). ื“ืขืจ ื“ืจื™ื˜ ื˜ื™ื™ืœ ืื™ื– ื“ื™ ื“ื™ื’ื™ื˜ืึทืœ ื›ืกื™ืžืข.

. .
ืงื™ื™ื ืžืึธืœ ืงืจืึธื ืึท ืกื™ืžืขืŸ ืื™ืŸ ื“ื™ื™ืŸ ื“ื‘. ื•ื•ื™ื™ึทืœ ืึท ื’ื™ืœื˜ื™ืง ืกื™ืžืขืŸ ืื™ื– ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• ืึท ืคึผืึทืจืึธืœ, ืกื˜ืึธืจื™ื ื’ ื“ื™ ืกื™ืžืขืŸ ืื™ื– ื•ื•ื™ ืกื˜ืึธืจื™ื ื’ ื“ื™ ืคึผืึทืจืึธืœ ืื™ืŸ ืงืœืึธืจ ื˜ืขืงืกื˜.
ืึทืงืกืขืก ืกื™ืžืขืŸ ืื™ื– ืึท ืกื™ืžืขืŸ ื•ื•ืึธืก ื’ื™ื˜ ื–ื™ื™ืŸ ื‘ืึทื–ื™ืฆืขืจ ืึทืงืกืขืก ืฆื• ืคึผืจืึธื˜ืขืงื˜ืขื“ ืกืขืจื•ื•ืขืจ ืจืขืกื•ืจืกืŸ. ืขืก ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื”ืื˜ ืึท ืงื•ืจืฅ ืœืขื‘ืŸ ืื•ืŸ ืงืขืŸ ืคื™ืจืŸ ื ืึธืš ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทื–ืึท ื•ื•ื™ ื“ื™ IP ืึทื“ืจืขืก ืคื•ืŸ ื“ื™ ืคึผืึทืจื˜ื™ื™ ืจื™ืงื•ื•ืขืกื˜ื™ื ื’ ื“ื™ ืกื™ืžืขืŸ.

ื“ืขืจืคืจื™ืฉืŸ ื˜ืึธืงืขืŸ ืื™ื– ืึท ืกื™ืžืขืŸ ื•ื•ืึธืก ืึทืœืึทื•ื– ืงืœื™ื™ืึทื ืฅ ืฆื• ื‘ืขื˜ืŸ ื ื™ื™ึท ืึทืงืกืขืก ื˜ืึธืงืขื ืก ื ืึธืš ื–ื™ื™ืขืจ ืœืขื‘ืŸ ืื™ื– ืื•ื™ืกื’ืขื’ืื ื’ืขืŸ. ื“ื™ ื˜ืึธืงืขื ืก ื–ืขื ืขืŸ ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืืจื•ื™ืก ืคึฟืึทืจ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜.

ื“ื™ ื”ื•ื™ืคึผื˜ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ืคื•ืŸ ื ื™ืฆืŸ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ:

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืงืกืขืก ืคืึทืจืฉื™ื“ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ื“ื•ืจืš ืื™ื™ืŸ ืžืึธืœ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ.
  • ืื™ืŸ ื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืคืืจืœืื ื’ื˜ ืึทื˜ืจื™ื‘ื™ื•ืฅ ืื™ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืคึผืจืึธืคื™ืœ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื‘ืึทืจื™ื™ึทื›ืขืจืŸ ืžื™ื˜ ื“ืึทื˜ืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• ื“ื™ ืคึผื™ื™ืœืึธื•ื“, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ืื•ืŸ ืื•ื™ืฃ-ื“ืขื-ืคืœื™ืขืŸ.
  • ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืงืจืึธื ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืึทืงื˜ื™ื•ื• ืกืขืฉืึทื ื–; ื“ื™ ืกืขืจื•ื•ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืึทืจืฃ ื‘ืœื•ื™ื– ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื›ืกื™ืžืข.
  • ืžืขืจ ืคืœืขืงืกืึทื‘ืึทืœ ืึทืงืกืขืก ืงืึธื ื˜ืจืึธืœ ื“ื•ืจืš ื ืึธืš ืึทื˜ืจื™ื‘ื™ื•ืฅ ืื™ืŸ ื“ื™ ืคึผื™ื™ืœืึธื•ื“.
  • ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืกื™ืžืขืŸ ื›ืกื™ืžืข ืคึฟืึทืจ ื“ื™ ื›ืขื“ืขืจ ืื•ืŸ ืคึผื™ื™ืœืึธื•ื“ ื™ื ืงืจื™ืกื™ื– ื“ื™ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’ ื•ื•ื™ ืึท ื’ืึทื ืฅ.

JWT ื˜ืึธืงืขืŸ - ื–ืึทืฅ

ื˜ื™ื˜ืœ - ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื“ื™ ื›ืขื“ืขืจ ื›ึผื•ืœืœ ื‘ืœื•ื™ื– ื“ื™ ืกื™ืžืขืŸ ื˜ื™ืคึผ ืื•ืŸ ื“ื™ ืึทืœื’ืขืจื™ื“ืึทื ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืขื ืงืจื™ืคึผืฉืึทืŸ.

ื“ืขืจ ื˜ื™ืคึผ ืคื•ืŸ ื“ื™ ืกื™ืžืขืŸ ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ื“ื™ "ื˜ื™ืคึผ" ืฉืœื™ืกืœ. ื“ืขืจ 'ื˜ื™ืคึผ' ืฉืœื™ืกืœ ืื™ื– ืื™ื’ื ืึธืจื™ืจื˜ ืื™ืŸ ื“ื™ JWT. ืื•ื™ื‘ ื“ืขืจ "ื˜ื™ืคึผ" ืฉืœื™ืกืœ ืื™ื– ืคืึธืจืฉื˜ืขืœืŸ, ื–ื™ื™ืŸ ื•ื•ืขืจื˜ ืžื•ื–ืŸ ื–ื™ื™ืŸ JWT ืฆื• ืึธื ื•ื•ื™ื™ึทื–ืŸ ืึทื– ื“ืขื ื›ื™ื™ืคืขืฅ ืื™ื– ืึท JSON ื•ื•ืขื‘ ื˜ืึธืงืขืŸ.

ื“ื™ ืจื’ืข ืฉืœื™ืกืœ "ืึทืœื’" ื“ื™ืคื™ื™ื ื– ื“ื™ ืึทืœื’ืขืจื™ื“ืึทื ื’ืขื ื™ืฆื˜ ืฆื• ืขื ืงืจื™ืคึผื˜ ื“ื™ ืกื™ืžืขืŸ. ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• HS256 ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื“ืขืจ ื›ืขื“ืขืจ ืื™ื– ืงืึธื“ืขื“ ืื™ืŸ base64.

{ "alg": "HS256", "type": "JWT"}
ืคึผื™ื™ืœืึธืึทื“ (ืื™ื ื”ืึทืœื˜) - ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ืกื˜ืึธืจื– ืึทืœืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืึธืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜. ื™ืขื“ืขืจ ืฉืœื™ืกืœ ืื™ืŸ ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ืื™ื– ื‘ืืงืื ื˜ ื•ื•ื™ ืึท "ื˜ืขื ื”". ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ืึทืจื™ื™ึทืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื‘ืœื•ื™ื– ื“ื•ืจืš ืคืึทืจื‘ืขื˜ื•ื ื’ (ืคืืจืžืื›ื˜ ืคึผืจืึธืžืึธ). ื•ื•ืขืŸ ืžื™ืจ ื•ื•ื™ืœืŸ ืื™ื™ื ืœืื“ืŸ ืขืžืขืฆืŸ ื–ื™ืš ืฆื• ื‘ืื˜ื™ื™ืœื™ื’ืŸ, ืฉื™ืงืŸ ืžื™ืจ ื–ื™ื™ ื ืื™ื™ื ืœืื“ื•ื ื’ ื‘ืจื™ื•ื•. ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ื™ ื‘ืœื™ืฆืคึผืึธืกื˜ ืึทื“ืจืขืก ื’ืขื”ืขืจื˜ ืฆื• ื“ืขืจ ืžืขื ื˜ืฉ ื•ื•ืืก ืึทืงืกืขืคึผืฅ ื“ื™ ืคืึทืจื‘ืขื˜ื•ื ื’, ืึทื–ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ืขื ืึทื“ืจืขืก ืื™ืŸ ื“ื™ ืคึผื™ื™ืœืึธื•ื“, ืคึฟืึทืจ ื“ืขื ืžื™ืจ ืงืจืึธื ืขืก ืื™ืŸ ื“ื™ "ืขืžืึทื™ืœ" ืฉืœื™ืกืœ

{ "Email": "[ืื™ืžืขื™ืœ ื‘ืืฉื™ืฆื˜]" }

ืฉืœื™ืกืœืขืŸ ืื™ืŸ ืคึผื™ื™ืœืึธื•ื“ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ. ืึธื‘ืขืจ, ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ืจืขื–ืขืจื•ื•ื™ืจื˜:

  • iss (ื™ืกืกื•ืขืจ) - ืื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจื˜ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ื•ื•ืึธืก ื“ื™ ืกื™ืžืขืŸ ืื™ื– ื’ืขืฉื™ืงื˜.
  • ืกื•ื‘ (ืกื•ื‘ื“ื–ืฉืขืงื˜) - ื“ื™ืคื™ื™ื ื– ื“ื™ ื•ื ื˜ืขืจื˜ืขื ื™ืง ืคื•ืŸ ื“ื™ ืกื™ืžืขืŸ.
  • aud (ืึทื•ื“ื™ืขื ืกืข) ืื™ื– ืึท ืงื™ื™ื˜ ืคื•ืŸ ืคืึทืœ-ืฉืคึผื™ืจืขื•ื•ื“ื™ืง ืกื˜ืจื™ื ื’ืก ืึธื“ืขืจ URIs ื•ื•ืึธืก ืื™ื– ืึท ืจืฉื™ืžื” ืคื•ืŸ ื“ื™ ืจื™ืกื™ืคึผื™ืึทื ืฅ ืคื•ืŸ ื“ืขื ืกื™ืžืขืŸ. ื•ื•ืขืŸ ื“ื™ ืจื™ืกื™ื•ื•ื™ื ื’ ื–ื™ื™ึทื˜ ื ืขืžื˜ ืึท JWT ืžื™ื˜ ื“ื™ ื’ืขื’ืขื‘ืŸ ืฉืœื™ืกืœ, ืขืก ืžื•ื–ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืคึฟืึทืจ ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ื–ื™ืš ืื™ืŸ ื“ื™ ืจื™ืกื™ืคึผื™ืึทื ืฅ - ืึทื ื“ืขืจืฉ ืื™ื’ื ืึธืจื™ืจืŸ ื“ื™ ืกื™ืžืขืŸ.
  • exp (ืขืงืกืคึผืขืจื™ื™ืฉืึทืŸ ืฆื™ื™ื˜) - ื™ื ื“ื™ืงื™ื™ืฅ ื•ื•ืขืŸ ื“ื™ ืกื™ืžืขืŸ ื™ืงืกืคึผื™ื™ืขืจื–. ื“ื™ JWT ื ืึธืจืžืึทืœ ืจื™ืงื•ื•ื™ื™ืขืจื– ืึทืœืข ื–ื™ื™ึทืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ืฆื• ืึธืคึผื•ื•ืึทืจืคืŸ ืื•ื™ืกื’ืขื’ืื ื’ืขืŸ ื˜ืึธืงืขื ืก. ื“ืขืจ ืขืงืกืคึผ ืฉืœื™ืกืœ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืึท ื˜ื™ืžืขืกื˜ืึทืžืคึผ ืื™ืŸ ื™ื•ื ื™ืงืก ืคึฟืึธืจืžืึทื˜.
  • nbf (ื ื™ื˜ ืคืจื™ืขืจ) ืื™ื– ืึท ืฆื™ื™ื˜ ืื™ืŸ ื™ื•ื ื™ืงืก ืคึฟืึธืจืžืึทื˜ ื•ื•ืึธืก ื“ื™ื˜ืขืจืžืึทื ื– ื“ื™ ืžืึธืžืขื ื˜ ื•ื•ืขืŸ ื“ื™ ืกื™ืžืขืŸ ื•ื•ืขืจื˜ ื’ื™ืœื˜ื™ืง.
  • iat (ืืจื•ื™ืก ื‘ื™ื™) - ื“ืขืจ ืฉืœื™ืกืœ ืจืขืคึผืจืึทื–ืขื ืฅ ื“ื™ ืฆื™ื™ื˜ ื•ื•ืขืŸ ื“ื™ ืกื™ืžืขืŸ ืื™ื– ืืจื•ื™ืก ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืขืœื˜ืขืจ ืคื•ืŸ ื“ื™ JWT. ื“ื™ iat ืฉืœื™ืกืœ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืึท ื˜ื™ืžืขืกื˜ืึทืžืคึผ ืื™ืŸ ื™ื•ื ื™ืงืก ืคึฟืึธืจืžืึทื˜.
  • Jti (JWT ID) - ืึท ืฉื˜ืจื™ืงืœ ื•ื•ืึธืก ื“ื™ืคื™ื™ื ื– ื“ื™ ื™ื™ื ืฆื™ืง ื™ื“ืขื ื˜ื™ืคื™ืขืจ ืคื•ืŸ ื“ืขื ืกื™ืžืขืŸ, ืคืึทืœ-ืฉืคึผื™ืจืขื•ื•ื“ื™ืง.

ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืึทื– ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ืื™ื– ื ื™ืฉื˜ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืื™ืŸ ื™ื ืงืจื™ืคึผื˜ื™ื“ ืคืึธืจืขื (ื›ืึธื˜ืฉ ื˜ืึธืงืขื ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื ืขืกื˜ืขื“ ืื•ืŸ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื™ื ืงืจื™ืคึผื˜ื™ื“ ื“ืึทื˜ืŸ). ื“ืขืจื™ื‘ืขืจ, ืขืก ืงืขืŸ ื ื™ืฉื˜ ืงืจืึธื ืงื™ื™ืŸ ืกื•ื“ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ื•ื•ื™ ื“ื™ ื›ืขื“ืขืจ, ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ืื™ื– Base64 ืงืึธื“ืขื“.
ื›ืกื™ืžืข - ื•ื•ืขืŸ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื˜ื™ื˜ืœ ืื•ืŸ ืคึผื™ื™ืœืึธื•ื“, ืžื™ืจ ืงืขื ืขืŸ ืจืขื›ืขื ืขืŸ ื“ื™ ื›ืกื™ืžืข.

ื“ื™ ื›ืขื“ืขืจ ืื•ืŸ ืคึผื™ื™ืœืึธื•ื“ ืงืึธื“ืขื“ ืื™ืŸ base64 ื–ืขื ืขืŸ ื’ืขื ื•ืžืขืŸ ืื•ืŸ ืงืึทืžื‘ื™ื™ื ื“ ืื™ืŸ ืึท ืฉื•ืจื” ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ืคึผื•ื ืงื˜. ื“ืขืจ ืฉื˜ืจื™ืงืœ ืื•ืŸ ื“ืขืจ ืกื•ื“ ืฉืœื™ืกืœ ื–ืขื ืขืŸ ื“ืขืžืึธืœื˜ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืฆื• ื“ื™ ืขื ืงืจื™ืคึผืฉืึทืŸ ืึทืœื’ืขืจื™ื“ืึทื ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ื›ืขื“ืขืจ (ืฉืœื™ืกืœ "ืึทืœื’"). ื“ืขืจ ืฉืœื™ืกืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงื™ื™ืŸ ืฉื˜ืจื™ืงืœ. ืžืขืจ ืกื˜ืจื™ื ื’ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžืขืจืกื˜ ื‘ื™ืœื›ืขืจ ื•ื•ื™ื™ึทืœ ื–ื™ื™ ื•ื•ืขืœืŸ ื“ืึทืจืคืŸ ืžืขืจ ืฆื™ื™ื˜ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ.

{"alg":"RSA1_5","payload":"A128CBC-HS256"}

ื‘ื•ื™ืขืŸ ืึท Keycloak ืคืึทื™ืœืึธื•ื•ืขืจ ืงืœืึทืกื˜ืขืจ ืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืข

ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ืึท ืื™ื™ืŸ ืงื ื•ื™ืœ ืคึฟืึทืจ ืึทืœืข ืคึผืจืึทื“ื–ืฉืขืงืก, ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืืงืกืŸ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ืึท SSO ืœื™ื™ื–ื•ื ื’. ื•ื•ืขืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ืื™ื– ืงืœื™ื™ืŸ, ื“ื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืึทื–ื•ื™ ื‘ืึทื˜ื™ื™ื˜ื™ืง ืคึฟืึทืจ ืึทืœืข ืคึผืจืึทื“ื–ืฉืขืงืก, ืึธื‘ืขืจ, ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื™ื•ื–ืขืจื– ืื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทื ื– ื™ื ืงืจื™ืกื™ื–, ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคึฟืึทืจ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคืึทืจื’ืจืขืกืขืจืŸ.

ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ ืจื™ื–ื™ืงื™ืจืŸ ืคื•ืŸ ืื™ื™ืŸ ืกืกืึธ ื“ื•ืจื›ืคืึทืœ ื™ื ืงืจื™ืกืึทื– ื“ื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื“ื™ ืœื™ื™ื–ื•ื ื’ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ื“ื™ ืžืขื˜ื”ืึธื“ืก ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื™ื‘ืขืจื™ืง ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ืŸ ืคื™ืจื˜ ืฆื• ืึท ื–ื™ื™ืขืจ ืขื ื’ ืกืœืึท. ืื™ืŸ ื“ืขื ืึทื›ื˜ื•ื ื’, ืžืขืจ ืึธืคื˜ ื‘ืขืฉืึทืก ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืึธื“ืขืจ ืคืจื™ ืกื˜ืึทื’ืขืก ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืกืึทืœื•ืฉืึทื ื–, ืคึผืจืึทื“ื–ืฉืขืงืก ื”ืึธื‘ืŸ ื–ื™ื™ืขืจ ืื™ื™ื’ืŸ ื ื™ื˜-ืฉื•ืœื“-ื˜ืึธืœืขืจืึทื ื˜ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ. ื•ื•ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธื’ืจืขืกื™ื–, ืขืก ืื™ื– ืคืืจืœืื ื’ื˜ ืฆื• ืœื™ื™ื’ืŸ ืึทืจืึธืคึผ ืึทืคึผืขืจื˜ื•ื ืึทื˜ื™ื– ืคึฟืึทืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ืŸ ืกืงื™ื™ืœื™ื ื’. ืขืก ืื™ื– ืžืขืจืกื˜ ืคืœืขืงืกืึทื‘ืึทืœ ืฆื• ื‘ื•ื™ืขืŸ ืึท ืคืึทื™ืœืึธื•ื•ืขืจ ืงื ื•ื™ืœ ื ื™ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืึธื“ืขืจ ืึท ื›ื™ื™ื‘ืจื™ื“ ืฆื•ื’ืึทื ื’.

ืฆื• ืึทืจื‘ืขื˜ืŸ ืื™ืŸ ื“ื™ ืึทืงื˜ื™ื•ื• / ืึทืงื˜ื™ื•ื• ืื•ืŸ ืึทืงื˜ื™ื•ื• / ืคึผืึทืกื™ื•ื• ืงื ื•ื™ืœ ืžืึธื“ืขืก, ืขืก ืื™ื– ืคืืจืœืื ื’ื˜ ืฆื• ืขื ืฉื•ืจ ื“ืึทื˜ืŸ ืงืึธื ืกื™ืกื˜ืขื ืกื™ ืื™ืŸ ืึท ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก - ื‘ื™ื™ื“ืข ื“ืึทื˜ืึทื‘ื™ื™ืก ื ืึธื•ื“ื– ืžื•ื–ืŸ ื–ื™ื™ืŸ ืกื™ื ื˜ืฉืจืึธื ืึธื•ืกืœื™ ืจืขืคึผืœื™ืงื™ื™ื˜ื™ื“ ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข ื’ืขืึธ-ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ื“ืึทื˜ืŸ ืกืขื ื˜ืขืจืก.

ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืึท ืฉื•ืœื“-ื˜ืึธืœืขืจืึทื ื˜ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’.

SSO ืื•ื™ืฃ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ. ืžื™ืจ ื ื•ืฆืŸ Keycloak. ื˜ื™ื™ืœ #1

ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ ื‘ืขื ืขืคื™ืฅ ืคื•ืŸ ื ื™ืฆืŸ ืึท ืื™ื™ืŸ ืงื ื•ื™ืœ:

  • ื”ื•ื™ืš ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœื™ื˜ื™ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืžืึธื“ืขืก: ืึทืงื˜ื™ื•ื• / ืึทืงื˜ื™ื•ื•, ืึทืงื˜ื™ื•ื• / ืคึผืึทืกื™ื•ื•.
  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื™ื ืึทืžื™ืฉ ื•ื•ืึธื’ - ื•ื•ืขืŸ ื ื™ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ.
  • ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืกืขื ื˜ืจืึทืœื™ื™ื–ื“ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’.
  • ื™ื•ื ืึทืคื™ื™ื“ ืฆื•ื’ืึทื ื’ ืคึฟืึทืจ ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข / ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ / ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืคื•ืŸ ื ื™ืฆืขืจืก ืื™ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก.
  • ืžืขืจ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืจืึทื“ื–ืฉืขืงืก ืึธืŸ ื‘ืึทื ื™ืฆืขืจ ื™ื ื•ื•ืึทืœื•ื•ืžืึทื ื˜.
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืจื™ื™ื•ืก ื“ื™ JWT ื˜ืึธืงืขืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก.
  • ืื™ื™ืŸ ืคื•ื ื˜ ืคื•ืŸ ืฆื•ื˜ืจื•ื™.
  • ืคืึทืกื˜ืขืจ ืงืึทื˜ืขืจ ืคื•ืŸ ืคึผืจืึทื“ื–ืฉืขืงืก ื ื™ืฆืŸ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืกืขืก / ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ (ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื”ื™ื™ื‘ืŸ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื ืึธืš ืงืึทืžืคึผืึธื•ื ืึทื ืฅ).
  • ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืงื•ื™ืคืŸ ื’ืขืฉืขืคื˜ ืฉื˜ื™ืฆืŸ ืคื•ืŸ ื“ื™ ืคืึทืจืงื•ื™ืคืขืจ.

ื•ื•ืึธืก ืฆื• ืงื•ืงืŸ ืคึฟืึทืจ ื•ื•ืขืŸ ืคึผืœืึทื ื™ืจื•ื ื’ ืึท ืงื ื•ื™ืœ

DBMS

Keycloak ื ื™ืฆื˜ ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื™ืกื˜ืขื ืฆื• ืงืจืึธื: ืจืขืœืžื–, ืงืœื™ื™ืึทื ืฅ, ื™ื•ื–ืขืจื–, ืขื˜ืง.
ื ื‘ืจื™ื™ื˜ ืงื™ื™ื˜ ืคื•ืŸ ื“ื‘ืžืก ืื™ื– ื’ืขืฉื˜ื™ืฆื˜: MS SQL, Oracle, MySQL, PostgreSQL. Keycloak ืงื•ืžื˜ ืžื™ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก. ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ืคึฟืึทืจ ื ื™ื˜-ืœืึธื•ื“ื™ื“ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ - ืึทื–ืึท ื•ื•ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ.

ืฆื• ืึทืจื‘ืขื˜ืŸ ืื™ืŸ ืึทืงื˜ื™ื•ื• / ืึทืงื˜ื™ื•ื• ืื•ืŸ ืึทืงื˜ื™ื•ื• / ืคึผืึทืกื™ื•ื• ืงื ื•ื™ืœ ืžืึธื“ืขืก, ื“ืึทื˜ืŸ ืงืึธื ืกื™ืกื˜ืขื ืกื™ ืื™ืŸ ืึท ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก ืื™ื– ืคืืจืœืื ื’ื˜, ืื•ืŸ ื‘ื™ื™ื“ืข ื“ืึทื˜ืึทื‘ื™ื™ืก ืงื ื•ื™ืœ ื ืึธื•ื“ื– ื–ืขื ืขืŸ ืกื™ื ื˜ืฉืจืึธื ืึธื•ืกืœื™ ืจืขืคึผืœื™ืงื™ื™ื˜ื™ื“ ืฆื•ื•ื™ืฉืŸ ื“ืึทื˜ืŸ ืกืขื ื˜ืขืจืก.

ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืงืึทืฉ (ื™ื ืคื™ื ืกืคึผืึทืŸ)

ืคึฟืึทืจ ื“ื™ ืงื ื•ื™ืœ ืฆื• ืึทืจื‘ืขื˜ืŸ ืจื™ื›ื˜ื™ืง, ื ืึธืš ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื˜ื™ื™ืคึผืก ืคื•ืŸ ืงืึทื˜ืฉืขืก ื ื™ืฆืŸ ื“ื™ JBoss Data Grid ืื™ื– ืคืืจืœืื ื’ื˜:

ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืกืขืฉืึทื ื– - ื’ืขื ื™ืฆื˜ ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ื“ืึทื˜ืŸ ื•ื•ืขืŸ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื‘ืึทื ื™ืฆืขืจ. ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ืขื ืงืึทืฉ ื˜ื™ืคึผื™ืงืœื™ ื‘ืœื•ื™ื– ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ืขื ื‘ืœืขื˜ืขืจืขืจ ืื•ืŸ ื“ื™ Keycloak ืกืขืจื•ื•ืขืจ, ื ื™ืฉื˜ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ืงืึทืžืฃ ื˜ืึธืงืขื ืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืกื™ื ืขืจื™ืึธื•ื– ื•ื•ื• ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื“ืึทืจืฃ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึทืŸ ืึทืงืฆื™ืข ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืกืœื™ (ื“ื•ืจืš ื‘ืœื™ืฆืคึผืึธืกื˜). ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื‘ืขืฉืึทืก ืึท ืคืึทืจื’ืขืกืŸ ืคึผืึทืจืึธืœ ืœื•ื™ืคืŸ, ื“ื™ ActionTokens Infinispan ืงืึทืฉ ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื”ืึทืœื˜ืŸ ืฉืคึผื•ืจ ืคื•ืŸ ืžืขื˜ืึทื“ืึทื˜ืึท ื•ื•ืขื’ืŸ ืคึฟืึทืจื‘ื•ื ื“ืŸ ืงืึทืžืฃ ื˜ืึธืงืขื ืก ื•ื•ืึธืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜, ืึทื–ื•ื™ ืขืก ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืจื™ื•ื–ื“.

ืงืึทื˜ืฉื™ื ื’ ืื•ืŸ ื™ื ื•ื•ืึทืœืึทื“ื™ื™ืฉืึทืŸ ืคื•ืŸ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื“ืึทื˜ืŸ - ื’ืขื ื™ืฆื˜ ืฆื• ืงืึทืฉ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื“ืึทื˜ืŸ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื•ืžื ื™ื™ื˜ื™ืง ืคึฟืจืื’ืŸ ืฆื• ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ื•ื•ืขืŸ ืงื™ื™ืŸ Keycloak ืกืขืจื•ื•ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ื™ ื“ืึทื˜ืŸ, ืึทืœืข ืื ื“ืขืจืข Keycloak ืกืขืจื•ื•ืขืจืก ืื™ืŸ ืึทืœืข ื“ืึทื˜ืŸ ืกืขื ื˜ืขืจืก ื“ืึทืจืคึฟืŸ ืฆื• ื•ื•ื™ืกืŸ ื•ื•ืขื’ืŸ ืื™ื.

ืึทืจื‘ืขื˜ - ื‘ืœื•ื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืฉื™ืงืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ืึทืจื˜ื™ืงืœืขืŸ ืฆื•ื•ื™ืฉืŸ ืงื ื•ื™ืœ ื ืึธื•ื“ื– ืื•ืŸ ื“ืึทื˜ืŸ ืกืขื ื˜ืขืจืก.

ื‘ืึทื ื™ืฆืขืจ ืกืขืฉืึทื ื– - ื’ืขื ื™ืฆื˜ ืฆื• ืงืจืึธื ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื‘ืึทื ื™ืฆืขืจ ืกืขืฉืึทื ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ื™ืœื˜ื™ืง ืคึฟืึทืจ ื“ืขืจ ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืก ื‘ืœืขื˜ืขืจืขืจ ืกืขืกื™ืข. ื“ืขืจ ืงืึทืฉ ืžื•ื–ืŸ ืคึผืจืึธืฆืขืก ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ื™ ืกื•ืฃ ื‘ืึทื ื™ืฆืขืจ ืื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ื‘ืจื•ื˜ ืงืจืึทืคื˜ ืฉื•ืฅ - ื’ืขื ื™ืฆื˜ ืฆื• ืฉืคึผื•ืจ ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื ื™ื˜ ืึทื ื“ืขืจืฉ ืœืึธื’ื™ื ืก.

ืžืึทืกืข ื‘ืึทืœืึทื ืกื™ื ื’

ื“ื™ ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจ ืื™ื– ื“ื™ ืื™ื™ืŸ ืคึผืึธื–ื™ืฆื™ืข ืคื•ื ื˜ ืฆื• ืงื™ื™ืงืœืึธืงืง ืื•ืŸ ืžื•ื–ืŸ ืฉื˜ื™ืฆืŸ ืงืœืขืคึผื™ืง ืกืขืฉืึทื ื–.

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืกืขืจื•ื•ืขืจืก

ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืคื•ืŸ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืขื“ ืึธื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจื™ื™ื–ื“ ืžื™ื˜ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืžื›ืฉื™ืจื™ื ืื•ืŸ ื“ื™ื ืึทืžื™ืฉ ืกืงื™ื™ืœื™ื ื’ ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืžื›ืฉื™ืจื™ื. ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืกื™ื ืขืจื™ืึธื•ื– ืื™ืŸ OpenShift, Kubernates, Rancher.

ื“ืขืจืžื™ื˜ ืขื ื“ื™ืงื˜ ื–ื™ืš ื“ืขืจ ืขืจืฉื˜ืขืจ ื˜ื™ื™ืœ โ€” ื“ืขืจ ื˜ืขืึธืจืขื˜ื™ืฉืขืจ. ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ืึทืจื˜ื™ืงืœืขืŸ, ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทื ื– ืžื™ื˜ ืคืึทืจืฉื™ื“ืŸ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– ืื•ืŸ ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ืกืขื˜ื˜ื™ื ื’ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทื ืึทืœื™ื™ื–ื“.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’