public class OAuthAuthenticationServerValve
extends org.apache.catalina.authenticator.FormAuthenticator
implements org.apache.catalina.LifecycleListener
Servlet FORM authentication that uses the local security domain to authenticate and for role mappings.
Supports bearer token creation and authentication. The client asking for access must be set up as a valid user within the security domain.
If no an OAuth access request, this works like normal FORM authentication and authorization.
| Modifier and Type | Class and Description |
|---|---|
static class |
OAuthAuthenticationServerValve.AccessCode |
| Modifier and Type | Field and Description |
|---|---|
protected ConcurrentHashMap<String,OAuthAuthenticationServerValve.AccessCode> |
accessCodeMap |
protected com.fasterxml.jackson.databind.ObjectWriter |
accessTokenResponseWriter |
protected com.fasterxml.jackson.databind.ObjectMapper |
mapper |
protected com.fasterxml.jackson.databind.ObjectWriter |
mapWriter |
protected ResteasyProviderFactory |
providers |
protected PrivateKey |
realmPrivateKey |
protected PublicKey |
realmPublicKey |
protected String |
realmPublicKeyPem |
protected ResourceMetadata |
resourceMetadata |
protected AuthServerConfig |
skeletonKeyConfig |
protected UserSessionManagement |
userSessionManagement |
characterEncoding, info, landingPageAUTH_HEADER_NAME, cache, changeSessionIdOnAuthentication, context, disableProxyCaching, lifecycle, REALM_NAME, securePagesWithPragma, SESSION_ID_BYTES, sm, sso, started| Constructor and Description |
|---|
OAuthAuthenticationServerValve() |
| Modifier and Type | Method and Description |
|---|---|
protected AccessTokenResponse |
accessTokenResponse(PrivateKey privateKey,
SkeletonKeyToken token) |
protected void |
adminLogout(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response) |
boolean |
authenticate(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
org.apache.catalina.deploy.LoginConfig config) |
protected org.apache.catalina.realm.GenericPrincipal |
basicAuth(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
protected void |
basicAuthError(org.apache.catalina.connector.Response response) |
boolean |
bearer(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
boolean propagate) |
protected SkeletonKeyToken |
buildToken(org.apache.catalina.realm.GenericPrincipal gp) |
protected String |
buildTokenString(PrivateKey privateKey,
SkeletonKeyToken token) |
protected org.apache.catalina.realm.GenericPrincipal |
checkLoggedIn(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response) |
protected ManagedResourceConfig |
getRealmRepresentation(org.apache.catalina.connector.Request request) |
protected boolean |
handleLoginPage(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
protected void |
handleOAuth(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
protected void |
init() |
void |
invoke(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
void |
lifecycleEvent(org.apache.catalina.LifecycleEvent event) |
protected void |
logoutCurrentUser(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response) |
protected void |
logoutResources(String username,
String admin) |
protected void |
publishRealmInfoHtml(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response) |
protected void |
redirectAccessCode(boolean sso,
org.apache.catalina.connector.Response response,
String redirect_uri,
String client_id,
String state,
org.apache.catalina.realm.GenericPrincipal gp) |
protected void |
redirectToWelcomePage(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response) |
protected void |
register(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
Principal principal,
String authType,
String username,
String password) |
protected void |
resolveAccessCode(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
void |
start() |
protected void |
tokenGrant(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response) |
forwardToErrorPage, forwardToLoginPage, getCharacterEncoding, getInfo, getLandingPage, matchRequest, restoreRequest, savedRequestURL, saveRequest, setCharacterEncoding, setLandingPageaddLifecycleListener, associate, authenticate, findLifecycleListeners, generateSessionId, getCache, getContainer, getDisableProxyCaching, getSecurePagesWithPragma, isChangeSessionIdOnAuthentication, login, logout, reauthenticateFromSSO, removeLifecycleListener, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setSecurePagesWithPragma, stop, unregisterprotected ConcurrentHashMap<String,OAuthAuthenticationServerValve.AccessCode> accessCodeMap
protected AuthServerConfig skeletonKeyConfig
protected PrivateKey realmPrivateKey
protected PublicKey realmPublicKey
protected String realmPublicKeyPem
protected ResteasyProviderFactory providers
protected ResourceMetadata resourceMetadata
protected UserSessionManagement userSessionManagement
protected com.fasterxml.jackson.databind.ObjectMapper mapper
protected com.fasterxml.jackson.databind.ObjectWriter accessTokenResponseWriter
protected com.fasterxml.jackson.databind.ObjectWriter mapWriter
public void start()
throws org.apache.catalina.LifecycleException
start in interface org.apache.catalina.Lifecyclestart in class org.apache.catalina.authenticator.AuthenticatorBaseorg.apache.catalina.LifecycleExceptionpublic void lifecycleEvent(org.apache.catalina.LifecycleEvent event)
lifecycleEvent in interface org.apache.catalina.LifecycleListenerprotected void init()
public void invoke(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException,
javax.servlet.ServletException
invoke in interface org.apache.catalina.Valveinvoke in class org.apache.catalina.authenticator.AuthenticatorBaseIOExceptionjavax.servlet.ServletExceptionprotected boolean handleLoginPage(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException,
javax.servlet.ServletException
IOExceptionjavax.servlet.ServletExceptionprotected org.apache.catalina.realm.GenericPrincipal checkLoggedIn(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response)
protected void adminLogout(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response)
throws IOException
IOExceptionprotected void logoutCurrentUser(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response)
throws IOException
IOExceptionprotected void redirectToWelcomePage(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response)
throws IOException
IOExceptionprotected void publishRealmInfoHtml(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response)
throws IOException
IOExceptionprotected ManagedResourceConfig getRealmRepresentation(org.apache.catalina.connector.Request request)
public boolean bearer(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
boolean propagate)
throws IOException
IOExceptionprotected void register(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
Principal principal,
String authType,
String username,
String password)
register in class org.apache.catalina.authenticator.AuthenticatorBasepublic boolean authenticate(org.apache.catalina.connector.Request request,
javax.servlet.http.HttpServletResponse response,
org.apache.catalina.deploy.LoginConfig config)
throws IOException
authenticate in class org.apache.catalina.authenticator.FormAuthenticatorIOExceptionprotected void resolveAccessCode(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException
IOExceptionprotected AccessTokenResponse accessTokenResponse(PrivateKey privateKey, SkeletonKeyToken token)
protected String buildTokenString(PrivateKey privateKey, SkeletonKeyToken token)
protected void handleOAuth(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException
IOExceptionprotected void tokenGrant(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException
IOExceptionprotected org.apache.catalina.realm.GenericPrincipal basicAuth(org.apache.catalina.connector.Request request,
org.apache.catalina.connector.Response response)
throws IOException
IOExceptionprotected void basicAuthError(org.apache.catalina.connector.Response response)
throws IOException
IOExceptionprotected void redirectAccessCode(boolean sso,
org.apache.catalina.connector.Response response,
String redirect_uri,
String client_id,
String state,
org.apache.catalina.realm.GenericPrincipal gp)
throws IOException
IOExceptionprotected SkeletonKeyToken buildToken(org.apache.catalina.realm.GenericPrincipal gp)
Copyright © 2019 JBoss by Red Hat. All rights reserved.