Search in sources :

Example 91 with RegisteredService

use of org.apereo.cas.services.RegisteredService in project cas by apereo.

the class WSFederationClaimsReleasePolicy method getAttributesInternal.

@Override
public Map<String, Object> getAttributesInternal(final Principal principal, final Map<String, Object> attrs, final RegisteredService service) {
    final Map<String, Object> resolvedAttributes = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
    resolvedAttributes.putAll(attrs);
    final Map<String, Object> attributesToRelease = new HashMap<>(resolvedAttributes.size());
    getAllowedAttributes().entrySet().stream().filter(entry -> WSFederationClaims.contains(entry.getKey().toUpperCase())).forEach(entry -> {
        final String claimName = entry.getKey();
        final String attributeName = entry.getValue();
        final WSFederationClaims claim = WSFederationClaims.valueOf(claimName.toUpperCase());
        LOGGER.debug("Evaluating claimName [{}] mapped to attribute name [{}]", claim.getUri(), attributeName);
        final Object value = resolvedAttributes.get(attributeName);
        if (value != null) {
            LOGGER.debug("Adding claimName [{}] to the collection of released attributes", claim.getUri());
            attributesToRelease.put(claim.getUri(), value);
        }
    });
    return attributesToRelease;
}
Also used : AbstractRegisteredServiceAttributeReleasePolicy(org.apereo.cas.services.AbstractRegisteredServiceAttributeReleasePolicy) Slf4j(lombok.extern.slf4j.Slf4j) Setter(lombok.Setter) TreeMap(java.util.TreeMap) Getter(lombok.Getter) Map(java.util.Map) HashMap(java.util.HashMap) Principal(org.apereo.cas.authentication.principal.Principal) RegisteredService(org.apereo.cas.services.RegisteredService) WSFederationClaims(org.apereo.cas.ws.idp.WSFederationClaims) HashMap(java.util.HashMap) WSFederationClaims(org.apereo.cas.ws.idp.WSFederationClaims) TreeMap(java.util.TreeMap)

Example 92 with RegisteredService

use of org.apereo.cas.services.RegisteredService in project cas by apereo.

the class WSFederationMetadataUIAction method doExecute.

@Override
protected Event doExecute(final RequestContext requestContext) {
    Service service = WebUtils.getService(requestContext);
    if (service != null) {
        service = serviceSelectionStrategy.resolveServiceFrom(service);
        final RegisteredService registeredService = this.servicesManager.findServiceBy(service);
        RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(service, registeredService);
        if (registeredService instanceof WSFederationRegisteredService) {
            final WSFederationRegisteredService wsfed = WSFederationRegisteredService.class.cast(registeredService);
            WebUtils.putServiceUserInterfaceMetadata(requestContext, new DefaultRegisteredServiceUserInterfaceInfo(wsfed));
        }
    }
    return success();
}
Also used : RegisteredService(org.apereo.cas.services.RegisteredService) WSFederationRegisteredService(org.apereo.cas.ws.idp.services.WSFederationRegisteredService) WSFederationRegisteredService(org.apereo.cas.ws.idp.services.WSFederationRegisteredService) RegisteredService(org.apereo.cas.services.RegisteredService) WSFederationRegisteredService(org.apereo.cas.ws.idp.services.WSFederationRegisteredService) Service(org.apereo.cas.authentication.principal.Service) DefaultRegisteredServiceUserInterfaceInfo(org.apereo.cas.web.flow.services.DefaultRegisteredServiceUserInterfaceInfo)

Example 93 with RegisteredService

use of org.apereo.cas.services.RegisteredService in project cas by apereo.

the class OidcProfileScopeToAttributesFilter method filterAttributesByScope.

private void filterAttributesByScope(final Collection<String> stream, final Map<String, Object> attributes, final Principal principal, final RegisteredService registeredService) {
    stream.stream().distinct().filter(s -> this.filters.containsKey(s)).forEach(s -> {
        final BaseOidcScopeAttributeReleasePolicy policy = filters.get(s);
        attributes.putAll(policy.getAttributes(principal, registeredService));
    });
}
Also used : OidcProfileScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcProfileScopeAttributeReleasePolicy) LoggerFactory(org.slf4j.LoggerFactory) OAuthUtils(org.apereo.cas.support.oauth.util.OAuthUtils) OidcCustomScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcCustomScopeAttributeReleasePolicy) HashMap(java.util.HashMap) Reflections(org.reflections.Reflections) OidcEmailScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcEmailScopeAttributeReleasePolicy) ArrayList(java.util.ArrayList) BaseOidcScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.BaseOidcScopeAttributeReleasePolicy) PrincipalFactory(org.apereo.cas.authentication.principal.PrincipalFactory) DefaultOAuth20ProfileScopeToAttributesFilter(org.apereo.cas.support.oauth.profile.DefaultOAuth20ProfileScopeToAttributesFilter) FilterBuilder(org.reflections.util.FilterBuilder) Map(java.util.Map) OidcAddressScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcAddressScopeAttributeReleasePolicy) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) ChainingAttributeReleasePolicy(org.apereo.cas.services.ChainingAttributeReleasePolicy) ServicesManager(org.apereo.cas.services.ServicesManager) Unchecked(org.jooq.lambda.Unchecked) Logger(org.slf4j.Logger) OidcConstants(org.apereo.cas.oidc.OidcConstants) Collection(java.util.Collection) OidcPhoneScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcPhoneScopeAttributeReleasePolicy) Set(java.util.Set) DenyAllAttributeReleasePolicy(org.apereo.cas.services.DenyAllAttributeReleasePolicy) RegisteredService(org.apereo.cas.services.RegisteredService) ClasspathHelper(org.reflections.util.ClasspathHelper) SubTypesScanner(org.reflections.scanners.SubTypesScanner) List(java.util.List) OidcRegisteredService(org.apereo.cas.services.OidcRegisteredService) Service(org.apereo.cas.authentication.principal.Service) J2EContext(org.pac4j.core.context.J2EContext) Principal(org.apereo.cas.authentication.principal.Principal) BaseOidcScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.BaseOidcScopeAttributeReleasePolicy)

Example 94 with RegisteredService

use of org.apereo.cas.services.RegisteredService in project cas by apereo.

the class OAuth20AccessTokenControllerTests method addRefreshToken.

private RefreshToken addRefreshToken(final Principal principal, final RegisteredService registeredService) {
    final Authentication authentication = getAuthentication(principal);
    final WebApplicationServiceFactory factory = new WebApplicationServiceFactory();
    final Service service = factory.createService(registeredService.getServiceId());
    final RefreshToken refreshToken = oAuthRefreshTokenFactory.create(service, authentication);
    oAuth20AccessTokenController.getTicketRegistry().addTicket(refreshToken);
    return refreshToken;
}
Also used : RefreshToken(org.apereo.cas.ticket.refreshtoken.RefreshToken) Authentication(org.apereo.cas.authentication.Authentication) WebApplicationServiceFactory(org.apereo.cas.authentication.principal.WebApplicationServiceFactory) OAuthRegisteredService(org.apereo.cas.support.oauth.services.OAuthRegisteredService) RegisteredService(org.apereo.cas.services.RegisteredService) Service(org.apereo.cas.authentication.principal.Service)

Example 95 with RegisteredService

use of org.apereo.cas.services.RegisteredService in project cas by apereo.

the class WsFederationAction method getRelyingPartyIdentifier.

/**
     * Get the relying party id for a service.
     *
     * @param service the service to get an id for
     * @return relying party id
     */
private String getRelyingPartyIdentifier(final Service service) {
    String relyingPartyIdentifier = this.configuration.getRelyingPartyIdentifier();
    if (service != null) {
        final RegisteredService registeredService = this.servicesManager.findServiceBy(service);
        RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(service, registeredService);
        if (registeredService.getProperties().containsKey("wsfed.relyingPartyIdentifier")) {
            relyingPartyIdentifier = registeredService.getProperties().get("wsfed.relyingPartyIdentifier").getValue();
        }
    }
    LOGGER.debug("Determined relying party identifier for [{}] to be [{}]", service, relyingPartyIdentifier);
    return relyingPartyIdentifier;
}
Also used : RegisteredService(org.apereo.cas.services.RegisteredService)

Aggregations

RegisteredService (org.apereo.cas.services.RegisteredService)182 Authentication (org.apereo.cas.authentication.Authentication)59 Service (org.apereo.cas.authentication.principal.Service)55 Test (org.junit.Test)49 Principal (org.apereo.cas.authentication.principal.Principal)36 OAuthRegisteredService (org.apereo.cas.support.oauth.services.OAuthRegisteredService)31 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)29 RegexRegisteredService (org.apereo.cas.services.RegexRegisteredService)23 AbstractRegisteredService (org.apereo.cas.services.AbstractRegisteredService)21 MultifactorAuthenticationProvider (org.apereo.cas.services.MultifactorAuthenticationProvider)20 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)20 Event (org.springframework.webflow.execution.Event)20 ServicesManager (org.apereo.cas.services.ServicesManager)17 CentralAuthenticationService (org.apereo.cas.CentralAuthenticationService)15 AuthenticationException (org.apereo.cas.authentication.AuthenticationException)15 Map (java.util.Map)14 HttpServletRequest (javax.servlet.http.HttpServletRequest)14 Slf4j (lombok.extern.slf4j.Slf4j)14 Collection (java.util.Collection)13 HashMap (java.util.HashMap)12