90 return TokenVerification.error(
new RuntimeException(
"Missing token"));
96 TokenVerifier<JsonWebToken> verifier = TokenVerifier.create(token, JsonWebToken.class)
97 .withChecks(
new TokenVerifier.RealmUrlCheck(
getIssuer(session, realm)), TokenVerifier.IS_ACTIVE);
99 SignatureVerifierContext verifierContext = session.getProvider(SignatureProvider.class, verifier.getHeader().getAlgorithm().name()).verifier(verifier.getHeader().getKeyId());
100 verifier.verifierContext(verifierContext);
102 kid = verifierContext.getKid();
106 jwt = verifier.getToken();
107 }
catch (VerificationException e) {
108 return TokenVerification.error(
new RuntimeException(
"Failed decode token", e));
111 if (!(TokenUtil.TOKEN_TYPE_BEARER.equals(jwt.getType()) ||
114 return TokenVerification.error(
new RuntimeException(
"Invalid type of token"));
117 return TokenVerification.success(kid, jwt);
static final String TYPE_INITIAL_ACCESS_TOKEN
Definition: ClientRegistrationTokenUtils.java:44
static String getIssuer(KeycloakSession session, RealmModel realm)
Definition: ClientRegistrationTokenUtils.java:133
static final String TYPE_REGISTRATION_ACCESS_TOKEN
Definition: ClientRegistrationTokenUtils.java:45