use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class TokenWebApplicationServiceResponseBuilder method buildInternal.
@Override
protected WebApplicationService buildInternal(final WebApplicationService service, final Map<String, String> parameters) {
final RegisteredService registeredService = this.servicesManager.findServiceBy(service);
RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(service, registeredService);
final boolean tokenAsResponse = RegisteredServiceProperty.RegisteredServiceProperties.TOKEN_AS_SERVICE_TICKET.isAssignedTo(registeredService);
if (!tokenAsResponse) {
return super.buildInternal(service, parameters);
}
final String jwt = generateToken(service, parameters);
final TokenWebApplicationService jwtService = new TokenWebApplicationService(service.getId(), service.getOriginalUrl(), service.getArtifactId());
jwtService.setFormat(service.getFormat());
jwtService.setLoggedOutAlready(service.isLoggedOutAlready());
parameters.put(CasProtocolConstants.PARAMETER_TICKET, jwt);
return jwtService;
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class TokenAuthenticationAction method constructCredentialsFromRequest.
@Override
protected Credential constructCredentialsFromRequest(final RequestContext requestContext) {
final HttpServletRequest request = WebUtils.getHttpServletRequestFromExternalWebflowContext(requestContext);
final String authTokenValue = this.tokenRequestExtractor.extract(request);
final Service service = WebUtils.getService(requestContext);
if (StringUtils.isNotBlank(authTokenValue) && service != null) {
try {
final RegisteredService registeredService = this.servicesManager.findServiceBy(service);
RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(service, registeredService);
final Credential credential = new TokenCredential(authTokenValue, service);
LOGGER.debug("Received token authentication request [{}] ", credential);
return credential;
} catch (final Exception e) {
LOGGER.warn(e.getMessage(), e);
}
}
return null;
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class FinalizeInterruptFlowAction method doExecute.
@Override
protected Event doExecute(final RequestContext requestContext) throws Exception {
final RegisteredService registeredService = WebUtils.getRegisteredService(requestContext);
final InterruptResponse response = InterruptUtils.getInterruptFrom(requestContext);
if (response.isBlock()) {
if (registeredService != null && registeredService.getAccessStrategy().getUnauthorizedRedirectUrl() != null) {
final String url = registeredService.getAccessStrategy().getUnauthorizedRedirectUrl().toURL().toExternalForm();
requestContext.getExternalContext().requestExternalRedirect(url);
requestContext.getExternalContext().recordResponseComplete();
return no();
}
throw new UnauthorizedServiceException(UnauthorizedServiceException.CODE_UNAUTHZ_SERVICE, "Denied");
}
return success();
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class InquireInterruptAction method doExecute.
@Override
protected Event doExecute(final RequestContext requestContext) {
final Authentication authentication = WebUtils.getAuthentication(requestContext);
final Service service = WebUtils.getService(requestContext);
final RegisteredService registeredService = WebUtils.getRegisteredService(requestContext);
final InterruptResponse response = this.interruptInquirer.inquire(authentication, registeredService, service);
if (response == null || !response.isInterrupt()) {
return no();
}
InterruptUtils.putInterruptIn(requestContext, response);
WebUtils.putPrincipal(requestContext, authentication.getPrincipal());
return yes();
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class BaseLdapServiceRegistryTests method verifyUpdatingServices.
@Test
public void verifyUpdatingServices() {
this.dao.save(getRegexRegisteredService());
final List<RegisteredService> services = this.dao.load();
final AbstractRegisteredService rs = (AbstractRegisteredService) this.dao.findServiceById(services.get(0).getId());
assertNotNull(rs);
rs.setEvaluationOrder(9999);
rs.setUsernameAttributeProvider(new DefaultRegisteredServiceUsernameProvider());
rs.setName("Another Test Service");
rs.setDescription("The new description");
rs.setServiceId("https://hello.world");
rs.setProxyPolicy(new RegexMatchingRegisteredServiceProxyPolicy("https"));
rs.setAttributeReleasePolicy(new ReturnAllowedAttributeReleasePolicy());
assertNotNull(this.dao.save(rs));
final RegisteredService rs3 = this.dao.findServiceById(rs.getId());
assertEquals(rs3.getName(), rs.getName());
assertEquals(rs3.getDescription(), rs.getDescription());
assertEquals(rs3.getEvaluationOrder(), rs.getEvaluationOrder());
assertEquals(rs3.getUsernameAttributeProvider(), rs.getUsernameAttributeProvider());
assertEquals(rs3.getProxyPolicy(), rs.getProxyPolicy());
assertEquals(rs3.getUsernameAttributeProvider(), rs.getUsernameAttributeProvider());
assertEquals(rs3.getServiceId(), rs.getServiceId());
}
Aggregations