下面列出了org.eclipse.jetty.server.Request#getBaseRequest ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static AdapterTokenStore getTokenStore(HttpServletRequest request, HttpFacade facade,
KeycloakDeployment resolvedDeployment) {
AdapterTokenStore store = (AdapterTokenStore) request.getAttribute(TOKEN_STORE_NOTE);
if (store != null) {
return store;
}
Request r = Request.getBaseRequest(request);
if (resolvedDeployment.getTokenStore() == TokenStore.SESSION) {
store = new JettySessionTokenStore(r, resolvedDeployment, new JettyAdapterSessionStore(r));
} else {
store = new JettyCookieTokenStore(r, facade, resolvedDeployment);
}
request.setAttribute(TOKEN_STORE_NOTE, store);
return store;
}
private void push(HttpServletRequest req) {
Request baseRequest = Request.getBaseRequest(req);
if (baseRequest.isPushSupported()) {
baseRequest
.getPushBuilder()
.method("GET")
.path("/data")
.push();
}
}
public void validateRequest(final ContainerRequestContext requestContext) {
if (requestContext.getSecurityContext().getUserPrincipal() != null) {
// the user is already authenticated, further processing is not necessary
return;
}
Request request = Request.getBaseRequest((ServletRequest)
requestContext.getProperty(HttpServletRequest.class.getName()));
JaxrsHttpFacade facade = new JaxrsHttpFacade(requestContext, requestContext.getSecurityContext());
request.setAttribute(AdapterDeploymentContext.class.getName(), deploymentContext);
KeycloakDeployment deployment = deploymentContext.resolveDeployment(facade);
if (deployment == null || !deployment.isConfigured()) {
return;
}
AdapterTokenStore tokenStore = getTokenStore(request, facade, deployment);
tokenStore.checkCurrentToken();
JettyRequestAuthenticator authenticator = createRequestAuthenticator(request, facade, deployment, tokenStore);
AuthOutcome outcome = authenticator.authenticate();
if (outcome == AuthOutcome.AUTHENTICATED) {
return;
}
AuthChallenge challenge = authenticator.getChallenge();
if (challenge != null) {
challenge.challenge(facade);
if (!adapterConfig.isBearerOnly()) {
// create session and set cookie for client
facade.getResponse().setCookie("JSESSIONID", request.getSession().getId(), "/", null, -1, false, false);
}
facade.getResponse().end();
}
}
protected JettyRequestAuthenticator createRequestAuthenticator(HttpServletRequest request, JaxrsHttpFacade facade,
KeycloakDeployment deployment,
AdapterTokenStore tokenStore) {
Request r = Request.getBaseRequest(request);
return new JettyRequestAuthenticator(facade, deployment, tokenStore, -1, r);
}
@Override
protected Request resolveRequest(ServletRequest req) {
return Request.getBaseRequest(req);
}
@Override
protected Request resolveRequest(ServletRequest req) {
return Request.getBaseRequest(req);
}
@Override
protected Request resolveRequest(ServletRequest req) {
return Request.getBaseRequest(req);
}
@Override
protected Request resolveRequest(ServletRequest req) {
return Request.getBaseRequest(req);
}
@Signature
public void __invoke(PHttpServerRequest request, PHttpServerResponse response) throws IOException, ServletException {
Request baseRequest = Request.getBaseRequest(request.getRequest());
gzipHandler.handle(request.getRequest().getRequestURI(), baseRequest, request.getRequest(), response.getResponse());
}