Package io.quarkus.oidc.runtime
Class OidcUtils
java.lang.Object
io.quarkus.oidc.runtime.OidcUtils
-
Field Summary
Modifier and TypeFieldDescription(package private) static final String
static final String
static final String
(package private) static final BlockingTaskRunner<Void>
static final String
static final Integer
static final String
static final String
static final String
static final String
static final String
static final String
(package private) static final String
static final String
(package private) static final io.smallrye.mutiny.Uni<Void>
-
Method Summary
Modifier and TypeMethodDescription(package private) static void
addTokenScopesAsPermissions
(QuarkusSecurityIdentity.Builder builder, Collection<String> scopes) static io.vertx.core.json.JsonObject
decodeJwtContent
(String jwt) static String
static io.vertx.core.json.JsonObject
decodeJwtHeaders
(String jwt) static String
static io.vertx.core.json.JsonObject
decryptJson
(String jweString, Key key) static String
decryptString
(String jweString, Key key) static String
decryptString
(String jweString, Key key, io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm algorithm) static String
encryptJson
(io.vertx.core.json.JsonObject json, SecretKey key) static String
encryptString
(String jweString, SecretKey key) findRoles
(String clientId, OidcTenantConfig.Roles rolesConfig, io.vertx.core.json.JsonObject json) static String
getCookieSuffix
(OidcTenantConfig oidcConfig) static io.smallrye.mutiny.Uni<io.vertx.core.MultiMap>
getFormUrlEncodedData
(io.vertx.ext.web.RoutingContext context) static String
getJwtContentPart
(String jwt) static String
getSessionCookie
(Map<String, Object> context, Map<String, io.vertx.core.http.Cookie> cookies, OidcTenantConfig oidcTenantConfig) static String
getSessionCookieName
(OidcTenantConfig oidcConfig) static byte[]
getSha256Digest
(byte[] value) static boolean
isEncryptedToken
(String token) static boolean
isFormUrlEncodedRequest
(io.vertx.ext.web.RoutingContext context) static boolean
isOpaqueToken
(String token) static boolean
isServiceApp
(OidcTenantConfig oidcConfig) static boolean
isWebApp
(OidcTenantConfig oidcConfig) (package private) static OidcTenantConfig
mergeTenantConfig
(OidcTenantConfig tenant, OidcTenantConfig provider) Merge the current tenant and well-known OpenId Connect provider configurations.(package private) static String
removeCookie
(io.vertx.ext.web.RoutingContext context, OidcTenantConfig oidcConfig, String cookieName) (package private) static void
removeCookie
(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 OidcTenantConfig
resolveProviderConfig
(OidcTenantConfig oidcTenantConfig) static void
setBlockingApiAttribute
(QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext vertxContext) (package private) static void
setCookiePath
(io.vertx.ext.web.RoutingContext context, OidcTenantConfig.Authentication auth, io.vertx.core.http.impl.ServerCookie cookie) static void
setRoutingContextAttribute
(QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext routingContext) static void
setSecurityIdentityConfigMetadata
(QuarkusSecurityIdentity.Builder builder, TenantConfigContext resolvedContext) static void
setSecurityIdentityIntrospection
(QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) (package private) static void
setSecurityIdentityPermissions
(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject permissionsJson) static void
setSecurityIdentityRoles
(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject rolesJson) static void
setSecurityIdentityUserInfo
(QuarkusSecurityIdentity.Builder builder, UserInfo userInfo) static void
setTenantIdAttribute
(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config) (package private) static Permission[]
transformScopesToPermissions
(Collection<String> scopes) (package private) static 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) static void
validatePrimaryJwtTokenType
(OidcTenantConfig.Token tokenConfig, io.vertx.core.json.JsonObject tokenJson)
-
Field Details
-
CONFIG_METADATA_ATTRIBUTE
- See Also:
-
USER_INFO_ATTRIBUTE
- See Also:
-
INTROSPECTION_ATTRIBUTE
- See Also:
-
TENANT_ID_ATTRIBUTE
- See Also:
-
DEFAULT_TENANT_ID
- See Also:
-
SESSION_COOKIE_NAME
- See Also:
-
SESSION_COOKIE_CHUNK
- See Also:
-
STATE_COOKIE_NAME
- See Also:
-
MAX_COOKIE_VALUE_LENGTH
-
POST_LOGOUT_COOKIE_NAME
- See Also:
-
UNDERSCORE
- See Also:
-
CODE_ACCESS_TOKEN_RESULT
- See Also:
-
VOID_UNI
-
deleteTokensRequestContext
-
QUARKUS_IDENTITY_EXPIRE_TIME
- See Also:
-
-
Method Details
-
getSessionCookie
-
getSessionCookieName
-
getCookieSuffix
-
isServiceApp
-
isWebApp
-
isEncryptedToken
-
isOpaqueToken
-
decodeJwtContent
-
decodeJwtContentAsString
-
getJwtContentPart
-
decodeJwtHeaders
-
decodeJwtHeadersAsString
-
findRoles
public static List<String> findRoles(String clientId, OidcTenantConfig.Roles rolesConfig, io.vertx.core.json.JsonObject json) -
validateAndCreateIdentity
static 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) -
setSecurityIdentityPermissions
static void setSecurityIdentityPermissions(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject permissionsJson) -
addTokenScopesAsPermissions
static void addTokenScopesAsPermissions(QuarkusSecurityIdentity.Builder builder, Collection<String> scopes) -
transformScopesToPermissions
-
setSecurityIdentityRoles
public static void setSecurityIdentityRoles(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config, io.vertx.core.json.JsonObject rolesJson) -
setBlockingApiAttribute
public static void setBlockingApiAttribute(QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext vertxContext) -
setTenantIdAttribute
public static void setTenantIdAttribute(QuarkusSecurityIdentity.Builder builder, OidcTenantConfig config) -
setRoutingContextAttribute
public static void setRoutingContextAttribute(QuarkusSecurityIdentity.Builder builder, io.vertx.ext.web.RoutingContext routingContext) -
setSecurityIdentityUserInfo
public static void setSecurityIdentityUserInfo(QuarkusSecurityIdentity.Builder builder, UserInfo userInfo) -
setSecurityIdentityIntrospection
public static void setSecurityIdentityIntrospection(QuarkusSecurityIdentity.Builder builder, TokenIntrospection introspectionResult) -
setSecurityIdentityConfigMetadata
public static void setSecurityIdentityConfigMetadata(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
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
-
encryptJson
public static String encryptJson(io.vertx.core.json.JsonObject json, SecretKey key) throws Exception - Throws:
Exception
-
encryptString
- 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)
-