use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class CasOAuthConfiguration method initializeServletApplicationContext.
@PostConstruct
public void initializeServletApplicationContext() {
final String oAuthCallbackUrl = casProperties.getServer().getPrefix() + BASE_OAUTH20_URL + '/' + CALLBACK_AUTHORIZE_URL_DEFINITION;
final Service callbackService = this.webApplicationServiceFactory.createService(oAuthCallbackUrl);
final RegisteredService svc = servicesManager.findServiceBy(callbackService);
if (svc == null || !svc.getServiceId().equals(oAuthCallbackUrl)) {
final RegexRegisteredService service = new RegexRegisteredService();
service.setId(Math.abs(new SecureRandom().nextLong()));
service.setEvaluationOrder(0);
service.setName(service.getClass().getSimpleName());
service.setDescription("OAuth Authentication Callback Request URL");
service.setServiceId(oAuthCallbackUrl);
service.setAttributeReleasePolicy(new DenyAllAttributeReleasePolicy());
servicesManager.save(service);
servicesManager.load();
}
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class OAuth20AccessTokenControllerTests method addCode.
private OAuthCode addCode(final Principal principal, final RegisteredService registeredService) {
final Authentication authentication = getAuthentication(principal);
final WebApplicationServiceFactory factory = new WebApplicationServiceFactory();
final Service service = factory.createService(registeredService.getServiceId());
final OAuthCode code = oAuthCodeFactory.create(service, authentication);
oAuth20AccessTokenController.getTicketRegistry().addTicket(code);
return code;
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class OAuth20AccessTokenControllerTests method verifyClientNoAuthorizationCode.
@Test
public void verifyClientNoAuthorizationCode() throws Exception {
final MockHttpServletRequest mockRequest = new MockHttpServletRequest(GET, CONTEXT + OAuthConstants.ACCESS_TOKEN_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
mockRequest.setParameter(OAuthConstants.CLIENT_SECRET, CLIENT_SECRET);
final Principal principal = createPrincipal();
final RegisteredService service = addRegisteredService();
final OAuthCode code = addCode(principal, service);
mockRequest.setParameter(OAuthConstants.CODE, code.getId());
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
requiresAuthenticationInterceptor.preHandle(mockRequest, mockResponse, null);
oAuth20AccessTokenController.handleRequestInternal(mockRequest, mockResponse);
assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
assertEquals(ERROR_EQUALS + OAuthConstants.INVALID_REQUEST, mockResponse.getContentAsString());
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class OAuth20AccessTokenControllerTests method verifyClientRedirectUriDoesNotStartWithServiceId.
@Test
public void verifyClientRedirectUriDoesNotStartWithServiceId() throws Exception {
final MockHttpServletRequest mockRequest = new MockHttpServletRequest(GET, CONTEXT + OAuthConstants.ACCESS_TOKEN_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, OTHER_REDIRECT_URI);
mockRequest.setParameter(OAuthConstants.CLIENT_SECRET, CLIENT_SECRET);
mockRequest.setParameter(OAuthConstants.GRANT_TYPE, OAuth20GrantTypes.AUTHORIZATION_CODE.name().toLowerCase());
final Principal principal = createPrincipal();
final RegisteredService service = addRegisteredService();
final OAuthCode code = addCode(principal, service);
mockRequest.setParameter(OAuthConstants.CODE, code.getId());
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
requiresAuthenticationInterceptor.preHandle(mockRequest, mockResponse, null);
oAuth20AccessTokenController.handleRequestInternal(mockRequest, mockResponse);
assertEquals(HttpStatus.SC_BAD_REQUEST, mockResponse.getStatus());
assertEquals(ERROR_EQUALS + OAuthConstants.INVALID_REQUEST, mockResponse.getContentAsString());
}
use of org.apereo.cas.services.RegisteredService in project cas by apereo.
the class LdapServiceRegistryDaoTests method verifyOAuthServices.
@Test
public void verifyOAuthServices() {
final OAuthRegisteredService r = new OAuthRegisteredService();
r.setName("test1456");
r.setServiceId("testId");
r.setTheme("theme");
r.setDescription("description");
r.setAttributeReleasePolicy(new ReturnAllAttributeReleasePolicy());
r.setClientId("testoauthservice");
r.setClientSecret("anothertest");
r.setBypassApprovalPrompt(true);
final RegisteredService r2 = this.dao.save(r);
assertEquals(r, r2);
}
Aggregations