What are Keycloak's OAuth2 / OpenID Connect endpoints?

前端 未结 9 2018
孤独总比滥情好
孤独总比滥情好 2020-12-12 10:42

We are trying to evaluate Keycloak as an SSO solution, and it looks good in many respects, but the documentation is painfully lacking in the basics.

For a given Keyc

相关标签:
9条回答
  • 2020-12-12 11:45

    Following link Provides JSON document describing metadata about the Keycloak

    /auth/realms/{realm-name}/.well-known/openid-configuration
    

    Following information reported with Keycloak 6.0.1 for master realm

    {  
       "issuer":"http://localhost:8080/auth/realms/master",
       "authorization_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/auth",
       "token_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/token",
       "token_introspection_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/token/introspect",
       "userinfo_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/userinfo",
       "end_session_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/logout",
       "jwks_uri":"http://localhost:8080/auth/realms/master/protocol/openid-connect/certs",
       "check_session_iframe":"http://localhost:8080/auth/realms/master/protocol/openid-connect/login-status-iframe.html",
       "grant_types_supported":[  
          "authorization_code",
          "implicit",
          "refresh_token",
          "password",
          "client_credentials"
       ],
       "response_types_supported":[  
          "code",
          "none",
          "id_token",
          "token",
          "id_token token",
          "code id_token",
          "code token",
          "code id_token token"
       ],
       "subject_types_supported":[  
          "public",
          "pairwise"
       ],
       "id_token_signing_alg_values_supported":[  
          "PS384",
          "ES384",
          "RS384",
          "HS256",
          "HS512",
          "ES256",
          "RS256",
          "HS384",
          "ES512",
          "PS256",
          "PS512",
          "RS512"
       ],
       "userinfo_signing_alg_values_supported":[  
          "PS384",
          "ES384",
          "RS384",
          "HS256",
          "HS512",
          "ES256",
          "RS256",
          "HS384",
          "ES512",
          "PS256",
          "PS512",
          "RS512",
          "none"
       ],
       "request_object_signing_alg_values_supported":[  
          "PS384",
          "ES384",
          "RS384",
          "ES256",
          "RS256",
          "ES512",
          "PS256",
          "PS512",
          "RS512",
          "none"
       ],
       "response_modes_supported":[  
          "query",
          "fragment",
          "form_post"
       ],
       "registration_endpoint":"http://localhost:8080/auth/realms/master/clients-registrations/openid-connect",
       "token_endpoint_auth_methods_supported":[  
          "private_key_jwt",
          "client_secret_basic",
          "client_secret_post",
          "client_secret_jwt"
       ],
       "token_endpoint_auth_signing_alg_values_supported":[  
          "RS256"
       ],
       "claims_supported":[  
          "aud",
          "sub",
          "iss",
          "auth_time",
          "name",
          "given_name",
          "family_name",
          "preferred_username",
          "email"
       ],
       "claim_types_supported":[  
          "normal"
       ],
       "claims_parameter_supported":false,
       "scopes_supported":[  
          "openid",
          "address",
          "email",
          "microprofile-jwt",
          "offline_access",
          "phone",
          "profile",
          "roles",
          "web-origins"
       ],
       "request_parameter_supported":true,
       "request_uri_parameter_supported":true,
       "code_challenge_methods_supported":[  
          "plain",
          "S256"
       ],
       "tls_client_certificate_bound_access_tokens":true,
       "introspection_endpoint":"http://localhost:8080/auth/realms/master/protocol/openid-connect/token/introspect"
    }
    
    0 讨论(0)
  • 2020-12-12 11:49

    In version 1.9.0 json with all endpoints is at address /auth/realms/{realm}

    • Authorization Endpoint: /auth/realms/{realm}/account
    • Token Endpoint: /auth/realms/{realm}/protocol/openid-connect
    0 讨论(0)
  • 2020-12-12 11:49

    FQDN/auth/realms/{realm_name}/.well-known/openid-configuration

    you will see everything here, plus if the identity provider is also Keycloak then feeding this URL will setup everything also true with other identity providers if they support and they already handled it

    0 讨论(0)
提交回复
热议问题