keycloak-service
公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
org.keycloak.protocol.oidc.RefreshTokenIntrospectionProvider クラス
org.keycloak.protocol.oidc.RefreshTokenIntrospectionProvider の継承関係図
Inheritance graph
org.keycloak.protocol.oidc.RefreshTokenIntrospectionProvider 連携図
Collaboration graph

公開メンバ関数

 RefreshTokenIntrospectionProvider (KeycloakSession session)
 
Response introspect (String token)
 
void close ()
 

限定公開メンバ関数

AccessToken verifyAccessToken (String token) throws OAuthErrorException, IOException
 

詳解

著者
Pedro Igor

構築子と解体子

◆ RefreshTokenIntrospectionProvider()

org.keycloak.protocol.oidc.RefreshTokenIntrospectionProvider.RefreshTokenIntrospectionProvider ( KeycloakSession  session)
inline
27  {
28  super(session);
29  }
final KeycloakSession session
Definition: AccessTokenIntrospectionProvider.java:41

関数詳解

◆ close()

void org.keycloak.protocol.oidc.AccessTokenIntrospectionProvider.close ( )
inlineinherited
93  {
94 
95  }

◆ introspect()

Response org.keycloak.protocol.oidc.AccessTokenIntrospectionProvider.introspect ( String  token)
inlineinherited
51  {
52  try {
53  AccessToken accessToken = verifyAccessToken(token);
54  ObjectNode tokenMetadata;
55 
56  if (accessToken != null) {
57  tokenMetadata = JsonSerialization.createObjectNode(accessToken);
58  tokenMetadata.put("client_id", accessToken.getIssuedFor());
59  tokenMetadata.put("username", accessToken.getPreferredUsername());
60  } else {
61  tokenMetadata = JsonSerialization.createObjectNode();
62  }
63 
64  tokenMetadata.put("active", accessToken != null);
65 
66  return Response.ok(JsonSerialization.writeValueAsBytes(tokenMetadata)).type(MediaType.APPLICATION_JSON_TYPE).build();
67  } catch (Exception e) {
68  throw new RuntimeException("Error creating token introspection response.", e);
69  }
70  }
AccessToken verifyAccessToken(String token)
Definition: AccessTokenIntrospectionProvider.java:72

◆ verifyAccessToken()

AccessToken org.keycloak.protocol.oidc.AccessTokenIntrospectionProvider.verifyAccessToken ( String  token) throws OAuthErrorException, IOException
inlineprotectedinherited
72  {
73  AccessToken accessToken;
74 
75  try {
76  TokenVerifier<AccessToken> verifier = TokenVerifier.create(token, AccessToken.class)
77  .realmUrl(Urls.realmIssuer(session.getContext().getUri().getBaseUri(), realm.getName()));
78 
79  SignatureVerifierContext verifierContext = session.getProvider(SignatureProvider.class, verifier.getHeader().getAlgorithm().name()).verifier(verifier.getHeader().getKeyId());
80  verifier.verifierContext(verifierContext);
81 
82  accessToken = verifier.verify().getToken();
83  } catch (VerificationException e) {
84  return null;
85  }
86 
87  RealmModel realm = this.session.getContext().getRealm();
88 
89  return tokenManager.checkTokenValidForIntrospection(session, realm, accessToken) ? accessToken : null;
90  }
final RealmModel realm
Definition: AccessTokenIntrospectionProvider.java:43
boolean checkTokenValidForIntrospection(KeycloakSession session, RealmModel realm, AccessToken token)
Definition: TokenManager.java:215
final KeycloakSession session
Definition: AccessTokenIntrospectionProvider.java:41
final TokenManager tokenManager
Definition: AccessTokenIntrospectionProvider.java:42

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