Package io.quarkus.oidc.runtime
Class OidcUtils
java.lang.Object
io.quarkus.oidc.runtime.OidcUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final String(package private) static final String(package private) static final String(package private) static final Stringstatic final Stringstatic final Stringstatic final String(package private) static final BlockingTaskRunner<Void> static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Integerstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String(package private) static final Stringstatic final String(package private) static final io.smallrye.mutiny.Uni<Void> -
Method Summary
Modifier and TypeMethodDescription(package private) static voidaddTokenScopesAsPermissions(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, Collection<String> scopes) static booleancacheUserInfoInIdToken(DefaultTenantConfigResolver resolver, OidcTenantConfig oidcConfig) (package private) static voidcreateChunkedCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String baseCookieName, String cookieValue, long maxAge) static io.vertx.core.http.impl.ServerCookiecreateCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String name, String value, long maxAge) static SecretKeycreateSecretKeyFromDigest(byte[] secretBytes) static SecretKeycreateSecretKeyFromDigest(String secretKey) (package private) static io.vertx.core.http.impl.ServerCookiecreateSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String name, String value, long maxAge) static io.vertx.core.json.JsonObjectdecodeJwtContent(String jwt) static Stringstatic io.vertx.core.json.JsonObjectdecodeJwtHeaders(String jwt) static Stringstatic io.vertx.core.json.JsonObjectdecryptJson(String jweString, Key key) static StringdecryptString(String jweString, Key key) static StringdecryptString(String jweString, Key key, io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm algorithm) static StringdecryptToken(TenantConfigContext resolvedContext, String token) static StringdecryptToken(String token, io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) static AuthorizationCodeTokensdecryptTokens(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, AuthorizationCodeTokens tokens) static StringencodeScopes(OidcTenantConfig oidcConfig) static StringencryptJson(io.vertx.core.json.JsonObject json, SecretKey key) static StringencryptString(String jweString, Key key, io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm algorithm) static StringencryptString(String jweString, SecretKey key) static StringencryptToken(String token, io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) static AuthorizationCodeTokensencryptTokens(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, AuthorizationCodeTokens tokens) (package private) static StringextractBearerToken(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) findRoles(String clientId, OidcTenantConfig.Roles rolesConfig, io.vertx.core.json.JsonObject json) getAllScopes(OidcTenantConfig oidcConfig) static <T> TgetAttribute(io.quarkus.security.identity.SecurityIdentity identity, String name) static StringgetCookieSuffix(OidcTenantConfig oidcConfig) static io.smallrye.mutiny.Uni<io.vertx.core.MultiMap> getFormUrlEncodedData(io.vertx.ext.web.RoutingContext context) static StringgetJwtContentPart(String jwt) (package private) static LonggetJwtExpiresAtClaim(io.vertx.core.json.JsonObject claims) getOidcRequestFilters(OidcTenantConfig oidcTenantConfig) static Map<io.quarkus.oidc.common.OidcEndpoint.Type, List<io.quarkus.oidc.common.OidcResponseFilter>> getOidcResponseFilters(OidcTenantConfig oidcTenantConfig) static StringgetRootPath(String configuredRootPath) static StringgetSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcTenantConfig) static StringgetSessionCookie(Map<String, Object> context, Map<String, io.vertx.core.http.Cookie> cookies, OidcTenantConfig oidcTenantConfig) static StringgetSessionCookie(Map<String, Object> context, Map<String, io.vertx.core.http.Cookie> cookies, OidcTenantConfig oidcTenantConfig, String defaultSessionCookieName, String sessionCookieName) static StringgetSessionCookieName(OidcTenantConfig oidcConfig) static byte[]getSha256Digest(byte[] value) static byte[]getSha256Digest(String value) static byte[]getSha256Digest(String value, Charset charset) static StringgetTenantIdFromCookie(String cookiePrefix, String cookieName, boolean sessionCookie) static <T extends io.quarkus.security.credential.TokenCredential>
TgetTokenCredential(io.quarkus.security.identity.SecurityIdentity identity, Class<T> type) static booleanstatic booleanisDPoPScheme(String authorizationScheme) static booleanisEncryptedToken(String token) static booleanisFormUrlEncodedRequest(io.vertx.ext.web.RoutingContext context) static booleanisJwtTokenExpired(String token) static booleanisOpaqueToken(String token) (package private) static booleanisParEnabled(OidcTenantConfig.Authentication authenticationConfig, OidcConfigurationMetadata metadata) static booleanisServiceApp(OidcTenantConfig oidcConfig) static booleanisSessionCookie(String cookieName) static booleanisWebApp(OidcTenantConfig oidcConfig) (package private) static OidcTenantConfigmergeTenantConfig(OidcTenantConfig tenant, OidcTenantConfig provider) Merge the current tenant and well-known OpenId Connect provider configurations.static KeyreadDecryptionKey(String decryptionKeyLocation) static StringremoveCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String cookieName) (package private) static voidremoveCookie(io.vertx.ext.web.RoutingContext context, io.vertx.core.http.impl.ServerCookie cookie, OidcTenantConfig oidcConfig) (package private) static io.smallrye.mutiny.Uni<Void> removeSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, TokenStateManager tokenStateManager) (package private) static OidcTenantConfigresolveProviderConfig(OidcTenantConfig oidcTenantConfig) static voidsetBlockingApiAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext vertxContext) static voidsetClearSiteData(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) (package private) static voidsetCookiePath(io.vertx.ext.web.RoutingContext context, OidcTenantConfig.Authentication auth, io.vertx.core.http.impl.ServerCookie cookie) (package private) static voidsetIntrospectionScopes(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) static voidsetOidcProviderClientAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcProviderClient oidcProviderClient) static voidsetRoutingContextAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext routingContext) static voidsetSecurityIdentityConfigMetadata(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TenantConfigContext resolvedContext) static voidsetSecurityIdentityIntrospection(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) (package private) static voidsetSecurityIdentityPermissions(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject permissionsJson) static voidsetSecurityIdentityRoles(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject rolesJson) static voidsetSecurityIdentityUserInfo(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, UserInfo userInfo) static voidsetTenantIdAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config) (package private) static voidstoreExtractedBearerToken(io.vertx.ext.web.RoutingContext context, String token) (package private) static io.quarkus.security.runtime.QuarkusSecurityIdentityvalidateAndCreateIdentity(Map<String, Object> requestData, io.quarkus.security.credential.TokenCredential credential, TenantConfigContext resolvedContext, io.vertx.core.json.JsonObject tokenJson, io.vertx.core.json.JsonObject rolesJson, UserInfo userInfo, TokenIntrospection introspectionResult, io.quarkus.security.identity.request.TokenAuthenticationRequest request) static voidvalidatePrimaryJwtTokenType(OidcTenantConfig.Token tokenConfig, io.vertx.core.json.JsonObject tokenJson)
-
Field Details
-
STATE_COOKIE_RESTORE_PATH
- See Also:
-
CONFIG_METADATA_ATTRIBUTE
- See Also:
-
USER_INFO_ATTRIBUTE
- See Also:
-
INTROSPECTION_ATTRIBUTE
- See Also:
-
TENANT_ID_ATTRIBUTE
- See Also:
-
TENANT_ID_SET_BY_ANNOTATION
- See Also:
-
TENANT_ID_SET_BY_SESSION_COOKIE
- See Also:
-
TENANT_ID_SET_BY_STATE_COOKIE
- See Also:
-
DEFAULT_TENANT_ID
- See Also:
-
SESSION_COOKIE_NAME
- See Also:
-
SESSION_COOKIE_CHUNK_START
- See Also:
-
SESSION_COOKIE_CHUNK
- See Also:
-
ACCESS_TOKEN_COOKIE_SUFFIX
- See Also:
-
REFRESH_TOKEN_COOKIE_SUFFIX
- See Also:
-
SESSION_AT_COOKIE_NAME
- See Also:
-
SESSION_RT_COOKIE_NAME
- See Also:
-
STATE_COOKIE_NAME
- See Also:
-
JWT_THUMBPRINT
- See Also:
-
INTROSPECTION_THUMBPRINT
- See Also:
-
DPOP_JWT_THUMBPRINT
- See Also:
-
DPOP_INTROSPECTION_THUMBPRINT
- See Also:
-
DPOP_PROOF
- See Also:
-
DPOP_PROOF_JWT_HEADERS
- See Also:
-
DPOP_PROOF_JWT_CLAIMS
- See Also:
-
CLEAR_SITE_DATA_HEADER
- See Also:
-
MAX_COOKIE_VALUE_LENGTH
-
POST_LOGOUT_COOKIE_NAME
- See Also:
-
DEFAULT_SCOPE_SEPARATOR
- See Also:
-
ANNOTATION_BASED_TENANT_RESOLUTION_ENABLED
- See Also:
-
UNDERSCORE
- See Also:
-
CODE_ACCESS_TOKEN_RESULT
- See Also:
-
CODE_ACCESS_TOKEN_FAILURE
- See Also:
-
COMMA
- See Also:
-
VOID_UNI
-
deleteTokensRequestContext
-
QUARKUS_IDENTITY_EXPIRE_TIME
- See Also:
-
-
Method Details
-
decodeJwtContent
-
getJwtContentPart
-
getSessionCookie
public static String getSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcTenantConfig) -
getSessionCookie
-
getSessionCookie
-
getSessionCookieName
-
getCookieSuffix
-
isServiceApp
-
isWebApp
-
isEncryptedToken
-
isOpaqueToken
-
decodeJwtContentAsString
-
decodeJwtHeaders
-
decodeJwtHeadersAsString
-
findRoles
public static List<String> findRoles(String clientId, OidcTenantConfig.Roles rolesConfig, io.vertx.core.json.JsonObject json) -
validateAndCreateIdentity
static io.quarkus.security.runtime.QuarkusSecurityIdentity validateAndCreateIdentity(Map<String, Object> requestData, io.quarkus.security.credential.TokenCredential credential, TenantConfigContext resolvedContext, io.vertx.core.json.JsonObject tokenJson, io.vertx.core.json.JsonObject rolesJson, UserInfo userInfo, TokenIntrospection introspectionResult, io.quarkus.security.identity.request.TokenAuthenticationRequest request) -
setIntrospectionScopes
static void setIntrospectionScopes(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) -
setSecurityIdentityPermissions
static void setSecurityIdentityPermissions(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject permissionsJson) -
addTokenScopesAsPermissions
static void addTokenScopesAsPermissions(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, Collection<String> scopes) -
setSecurityIdentityRoles
public static void setSecurityIdentityRoles(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject rolesJson) -
setBlockingApiAttribute
public static void setBlockingApiAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext vertxContext) -
setTenantIdAttribute
public static void setTenantIdAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config) -
setRoutingContextAttribute
public static void setRoutingContextAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext routingContext) -
setOidcProviderClientAttribute
public static void setOidcProviderClientAttribute(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, OidcProviderClient oidcProviderClient) -
setSecurityIdentityUserInfo
public static void setSecurityIdentityUserInfo(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, UserInfo userInfo) -
setSecurityIdentityIntrospection
public static void setSecurityIdentityIntrospection(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) -
setSecurityIdentityConfigMetadata
public static void setSecurityIdentityConfigMetadata(io.quarkus.security.runtime.QuarkusSecurityIdentity.Builder builder, TenantConfigContext resolvedContext) -
validatePrimaryJwtTokenType
public static void validatePrimaryJwtTokenType(OidcTenantConfig.Token tokenConfig, io.vertx.core.json.JsonObject tokenJson) -
removeSessionCookie
static io.smallrye.mutiny.Uni<Void> removeSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, TokenStateManager tokenStateManager) -
removeCookie
public static String removeCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String cookieName) -
removeCookie
static void removeCookie(io.vertx.ext.web.RoutingContext context, io.vertx.core.http.impl.ServerCookie cookie, OidcTenantConfig oidcConfig) -
setCookiePath
static void setCookiePath(io.vertx.ext.web.RoutingContext context, OidcTenantConfig.Authentication auth, io.vertx.core.http.impl.ServerCookie cookie) -
mergeTenantConfig
Merge the current tenant and well-known OpenId Connect provider configurations. Initialized properties take priority over uninitialized properties. Initialized properties in the current tenant configuration take priority over the same initialized properties in the well-known OpenId Connect provider configuration. Tenant id property of the current tenant must be set before the merge operation.- Parameters:
tenant- current tenant configurationprovider- well-known OpenId Connect provider configuration- Returns:
- merged configuration
-
resolveProviderConfig
-
getSha256Digest
- Throws:
NoSuchAlgorithmException
-
getSha256Digest
- Throws:
NoSuchAlgorithmException
-
getSha256Digest
- Throws:
NoSuchAlgorithmException
-
encryptJson
public static String encryptJson(io.vertx.core.json.JsonObject json, SecretKey key) throws Exception - Throws:
Exception
-
encryptString
- Throws:
Exception
-
encryptString
public static String encryptString(String jweString, Key key, io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm algorithm) throws Exception - Throws:
Exception
-
decryptJson
- Throws:
Exception
-
decryptString
- Throws:
Exception
-
decryptString
public static String decryptString(String jweString, Key key, io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm algorithm) throws org.jose4j.lang.JoseException - Throws:
org.jose4j.lang.JoseException
-
isFormUrlEncodedRequest
public static boolean isFormUrlEncodedRequest(io.vertx.ext.web.RoutingContext context) -
getFormUrlEncodedData
public static io.smallrye.mutiny.Uni<io.vertx.core.MultiMap> getFormUrlEncodedData(io.vertx.ext.web.RoutingContext context) -
encodeScopes
-
getAllScopes
-
isSessionCookie
-
extractBearerToken
static String extractBearerToken(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) -
storeExtractedBearerToken
-
getTenantIdFromCookie
-
cacheUserInfoInIdToken
public static boolean cacheUserInfoInIdToken(DefaultTenantConfigResolver resolver, OidcTenantConfig oidcConfig) -
createCookie
public static io.vertx.core.http.impl.ServerCookie createCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String name, String value, long maxAge) -
createSecretKeyFromDigest
-
createSecretKeyFromDigest
-
getTokenCredential
public static <T extends io.quarkus.security.credential.TokenCredential> T getTokenCredential(io.quarkus.security.identity.SecurityIdentity identity, Class<T> type) -
getAttribute
public static <T> T getAttribute(io.quarkus.security.identity.SecurityIdentity identity, String name) -
isJwtTokenExpired
-
getJwtExpiresAtClaim
-
isApplicationJwtContentType
-
setClearSiteData
public static void setClearSiteData(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) -
readDecryptionKey
- Throws:
Exception
-
decryptToken
-
isDPoPScheme
-
getRootPath
-
getOidcRequestFilters
public static Map<io.quarkus.oidc.common.OidcEndpoint.Type,List<io.quarkus.oidc.common.OidcRequestFilter>> getOidcRequestFilters(OidcTenantConfig oidcTenantConfig) -
getOidcResponseFilters
public static Map<io.quarkus.oidc.common.OidcEndpoint.Type,List<io.quarkus.oidc.common.OidcResponseFilter>> getOidcResponseFilters(OidcTenantConfig oidcTenantConfig) -
createSessionCookie
static io.vertx.core.http.impl.ServerCookie createSessionCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String name, String value, long maxAge) -
createChunkedCookie
static void createChunkedCookie(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String baseCookieName, String cookieValue, long maxAge) -
encryptToken
public static String encryptToken(String token, io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) -
decryptToken
public static String decryptToken(String token, io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig) -
decryptTokens
public static AuthorizationCodeTokens decryptTokens(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, AuthorizationCodeTokens tokens) -
encryptTokens
public static AuthorizationCodeTokens encryptTokens(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, AuthorizationCodeTokens tokens) -
isParEnabled
static boolean isParEnabled(OidcTenantConfig.Authentication authenticationConfig, OidcConfigurationMetadata metadata)
-