keycloak-service
クラス | 静的公開メンバ関数 | 全メンバ一覧
org.keycloak.protocol.oidc.utils.AuthorizeClientUtil クラス
org.keycloak.protocol.oidc.utils.AuthorizeClientUtil 連携図
Collaboration graph

クラス

class  ClientAuthResult
 

静的公開メンバ関数

static ClientAuthResult authorizeClient (KeycloakSession session, EventBuilder event)
 
static AuthenticationProcessor getAuthenticationProcessor (KeycloakSession session, EventBuilder event)
 
static ClientAuthenticatorFactory findClientAuthenticatorForOIDCAuthMethod (KeycloakSession session, String oidcAuthMethod)
 

詳解

著者
Stian Thorgersen

関数詳解

◆ authorizeClient()

static ClientAuthResult org.keycloak.protocol.oidc.utils.AuthorizeClientUtil.authorizeClient ( KeycloakSession  session,
EventBuilder  event 
)
inlinestatic
43  {
44  AuthenticationProcessor processor = getAuthenticationProcessor(session, event);
45 
46  Response response = processor.authenticateClient();
47  if (response != null) {
48  throw new WebApplicationException(response);
49  }
50 
51  ClientModel client = processor.getClient();
52  if (client == null) {
53  throw new ErrorResponseException("invalid_client", "Client authentication ended, but client is null", Response.Status.BAD_REQUEST);
54  }
55 
56  session.getContext().setClient(client);
57 
58  return new ClientAuthResult(client, processor.getClientAuthAttributes());
59  }
static AuthenticationProcessor getAuthenticationProcessor(KeycloakSession session, EventBuilder event)
Definition: AuthorizeClientUtil.java:61

◆ findClientAuthenticatorForOIDCAuthMethod()

static ClientAuthenticatorFactory org.keycloak.protocol.oidc.utils.AuthorizeClientUtil.findClientAuthenticatorForOIDCAuthMethod ( KeycloakSession  session,
String  oidcAuthMethod 
)
inlinestatic
79  {
80  List<ProviderFactory> providerFactories = session.getKeycloakSessionFactory().getProviderFactories(ClientAuthenticator.class);
81  for (ProviderFactory factory : providerFactories) {
82  ClientAuthenticatorFactory clientAuthFactory = (ClientAuthenticatorFactory) factory;
83  if (clientAuthFactory.getProtocolAuthenticatorMethods(OIDCLoginProtocol.LOGIN_PROTOCOL).contains(oidcAuthMethod)) {
84  return clientAuthFactory;
85  }
86  }
87 
88  return null;
89  }

◆ getAuthenticationProcessor()

static AuthenticationProcessor org.keycloak.protocol.oidc.utils.AuthorizeClientUtil.getAuthenticationProcessor ( KeycloakSession  session,
EventBuilder  event 
)
inlinestatic
61  {
62  RealmModel realm = session.getContext().getRealm();
63 
64  AuthenticationFlowModel clientAuthFlow = realm.getClientAuthenticationFlow();
65  String flowId = clientAuthFlow.getId();
66 
67  AuthenticationProcessor processor = new AuthenticationProcessor();
68  processor.setFlowId(flowId)
69  .setConnection(session.getContext().getConnection())
70  .setEventBuilder(event)
71  .setRealm(realm)
72  .setSession(session)
73  .setUriInfo(session.getContext().getUri())
74  .setRequest(session.getContext().getContextObject(HttpRequest.class));
75 
76  return processor;
77  }

このクラス詳解は次のファイルから抽出されました: