/** * Gets pac4j context. * * @param sessionStore the session store * @return the pac4j context */ public static J2EContext getPac4jJ2EContext(final SessionStore sessionStore) { return getPac4jJ2EContext(HttpRequestUtils.getHttpServletRequestFromRequestAttributes(), HttpRequestUtils.getHttpServletResponseFromRequestAttributes(), sessionStore); }
/** * Gets http servlet request user agent from request context. * * @param request the request * @return the http servlet request user agent from request context */ public static String getHttpServletRequestUserAgentFromRequestContext(final HttpServletRequest request) { return HttpRequestUtils.getHttpServletRequestUserAgent(request); }
/** * Gets http servlet request geo location. * * @param servletRequest the servlet request * @return the http servlet request geo location */ public static GeoLocationRequest getHttpServletRequestGeoLocation(final HttpServletRequest servletRequest) { if (servletRequest != null) { return HttpRequestUtils.getHttpServletRequestGeoLocation(servletRequest); } return null; }
@Override public WebApplicationService createService(final String id) { return newWebApplicationService(HttpRequestUtils.getHttpServletRequestFromRequestAttributes(), id); }
/** * Gets pac4j context. * * @param request the request * @param sessionStore the session store * @return the pac4j context */ public static J2EContext getPac4jJ2EContext(final HttpServletRequest request, final SessionStore sessionStore) { return getPac4jJ2EContext(request, HttpRequestUtils.getHttpServletResponseFromRequestAttributes(), sessionStore); }
if (request != null) { headers.put("locale", request.getLocale().getCountry()); headers.putAll(HttpRequestUtils.getRequestHeaders(request));
private Optional<ResponseEntity<OAuth20IntrospectionAccessTokenResponse>> validateIntrospectionRequest(final OAuthRegisteredService registeredService, final UsernamePasswordCredentials credentials, final HttpServletRequest request) { val tokenExists = HttpRequestUtils.doesParameterExist(request, OAuth20Constants.TOKEN) || HttpRequestUtils.doesParameterExist(request, OAuth20Constants.ACCESS_TOKEN); if (!tokenExists) { return Optional.of(buildBadRequestResponseEntity(OAuth20Constants.MISSING_ACCESS_TOKEN)); } if (OAuth20Utils.checkClientSecret(registeredService, credentials.getPassword())) { val service = webApplicationServiceServiceFactory.createService(registeredService.getServiceId()); val audit = AuditableContext.builder() .service(service) .registeredService(registeredService) .build(); val accessResult = this.registeredServiceAccessStrategyEnforcer.execute(audit); return accessResult.isExecutionFailure() ? Optional.of(buildUnauthorizedResponseEntity(OAuth20Constants.UNAUTHORIZED_CLIENT, false)) : Optional.empty(); } return Optional.of(buildUnauthorizedResponseEntity(OAuth20Constants.INVALID_CLIENT, true)); }
@Override public Service resolveServiceFrom(final Service service) { val clientId = resolveClientIdFromService(service); val redirectUri = resolveRedirectUri(service); val grantType = resolveGrantType(service); if (clientId.isPresent()) { if (redirectUri.isPresent()) { return this.webApplicationServiceFactory.createService(redirectUri.get().getValue()); } if (grantType.isPresent()) { var id = StringUtils.EMPTY; val grantValue = grantType.get().getValue(); if (OAuth20Utils.isGrantType(grantValue, OAuth20GrantTypes.CLIENT_CREDENTIALS)) { LOGGER.debug("Located grant type [{}]; checking for service headers", grantValue); val request = HttpRequestUtils.getHttpServletRequestFromRequestAttributes(); id = OAuth20Utils.getServiceRequestHeaderIfAny(request); } if (StringUtils.isBlank(id)) { id = clientId.get().getValue(); } LOGGER.debug("Built web application service based on identifier [{}]", id); return this.webApplicationServiceFactory.createService(id); } } return service; }
/** * Gets pac4j context. * * @param request the request * @return the pac4j context */ public static J2EContext getPac4jJ2EContext(final HttpServletRequest request) { return getPac4jJ2EContext(request, HttpRequestUtils.getHttpServletResponseFromRequestAttributes(), new J2ESessionStore()); }
LOGGER.debug("Executing groovy script to determine theme for [{}]", service.getId()); val result = ScriptingUtils.executeGroovyScript(resource, new Object[]{service, rService, request.getQueryString(), HttpRequestUtils.getRequestHeaders(request), LOGGER}, String.class, true); return StringUtils.defaultIfBlank(result, getDefaultThemeName());
final ProfileManager manager, final UserProfile uProfile) { val request = context.getRequest(); if (!HttpRequestUtils.doesParameterExist(request, OAuth20Constants.REFRESH_TOKEN) || !HttpRequestUtils.doesParameterExist(request, OAuth20Constants.CLIENT_ID)) { return false;
/** * Gets http servlet request user agent. * * @return the http servlet request user agent */ public static String getHttpServletRequestUserAgentFromRequestContext() { val request = getHttpServletRequestFromExternalWebflowContext(); return HttpRequestUtils.getHttpServletRequestUserAgent(request); }
/** * Gets pac4j context. * * @return the pac4j context */ public static J2EContext getPac4jJ2EContext() { return getPac4jJ2EContext(HttpRequestUtils.getHttpServletRequestFromRequestAttributes(), HttpRequestUtils.getHttpServletResponseFromRequestAttributes(), new J2ESessionStore()); } }
/** * Determine response type response. * * @param finalService the final service * @return the response type */ protected Response.ResponseType getWebApplicationServiceResponseType(final WebApplicationService finalService) { val request = HttpRequestUtils.getHttpServletRequestFromRequestAttributes(); val methodRequest = request != null ? request.getParameter(CasProtocolConstants.PARAMETER_METHOD) : null; final Function<String, String> func = FunctionUtils.doIf(StringUtils::isBlank, t -> { val registeredService = this.servicesManager.findServiceBy(finalService); if (registeredService != null) { return registeredService.getResponseType(); } return null; }, f -> methodRequest); val method = func.apply(methodRequest); if (StringUtils.isBlank(method)) { return Response.ResponseType.REDIRECT; } return Response.ResponseType.valueOf(method.toUpperCase()); } }
private boolean checkRequestGeoLocation(final HttpServletRequest httpServletRequest, final String clientIp, final String mfaMethod, final String pattern) { if (this.geoLocationService != null) { val location = HttpRequestUtils.getHttpServletRequestGeoLocation(httpServletRequest); val loc = this.geoLocationService.locate(clientIp, location); if (loc != null) { val address = loc.build(); if (address.matches(pattern)) { LOGGER.debug("Current address [{}] at [{}] matches the provided pattern [{}] for " + "adaptive authentication and is required to use [{}]", address, clientIp, pattern, mfaMethod); return true; } } } return false; } }
val request = context.getRequest(); val checkParameterExist = Stream.of(OAuth20Constants.CLIENT_ID, OAuth20Constants.REDIRECT_URI, OAuth20Constants.RESPONSE_TYPE) .allMatch(s -> HttpRequestUtils.doesParameterExist(request, s));
@Override public String buildCookieValue(final String givenCookieValue, final HttpServletRequest request) { final ClientInfo clientInfo = ClientInfoHolder.getClientInfo(); final StringBuilder builder = new StringBuilder(givenCookieValue) .append(COOKIE_FIELD_SEPARATOR) .append(clientInfo.getClientIpAddress()); final String userAgent = HttpRequestUtils.getHttpServletRequestUserAgent(request); if (StringUtils.isBlank(userAgent)) { throw new IllegalStateException("Request does not specify a user-agent"); } builder.append(COOKIE_FIELD_SEPARATOR).append(userAgent); final String res = builder.toString(); LOGGER.debug("Encoding cookie value [{}]", res); return this.cipherExecutor.encode(res).toString(); }
/** * Return the username of the authenticated user (based on pac4j security). * * @return the authenticated username. */ public static String getPac4jAuthenticatedUsername() { val request = HttpRequestUtils.getHttpServletRequestFromRequestAttributes(); val response = HttpRequestUtils.getHttpServletResponseFromRequestAttributes(); if (request != null && response != null) { val manager = getPac4jProfileManager(request, response); val profile = (Optional<CommonProfile>) manager.get(true); if (profile != null && profile.isPresent()) { val id = profile.get().getId(); if (id != null) { return id; } } } return PrincipalResolver.UNKNOWN_USER; }
val parameterList = new ParameterList(HttpRequestUtils.getHttpServletRequestFromRequestAttributes().getParameterMap());
@Override protected boolean validateInternal(final J2EContext context, final String grantType, final ProfileManager manager, final UserProfile uProfile) { val request = context.getRequest(); if (!HttpRequestUtils.doesParameterExist(request, OAuth20Constants.CLIENT_ID)) { return false; } val clientId = request.getParameter(OAuth20Constants.CLIENT_ID); LOGGER.debug("Received grant type [{}] with client id [{}]", grantType, clientId); val registeredService = OAuth20Utils.getRegisteredOAuthServiceByClientId(this.servicesManager, clientId); val service = webApplicationServiceServiceFactory.createService(registeredService.getServiceId()); val audit = AuditableContext.builder() .service(service) .registeredService(registeredService) .build(); val accessResult = this.registeredServiceAccessStrategyEnforcer.execute(audit); accessResult.throwExceptionIfNeeded(); if (!isGrantTypeSupportedBy(registeredService, grantType)) { LOGGER.warn("Requested grant type [{}] is not authorized by service definition [{}]", getGrantType(), registeredService.getServiceId()); return false; } return true; } }