use of org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider in project cas by apereo.
the class CentralAuthenticationServiceImplWithMockitoTests method createMockRegisteredService.
private static RegisteredService createMockRegisteredService(final String svcId, final boolean enabled, final RegisteredServiceProxyPolicy proxy) {
final RegisteredService mockRegSvc = mock(RegisteredService.class);
when(mockRegSvc.getServiceId()).thenReturn(svcId);
when(mockRegSvc.getProxyPolicy()).thenReturn(proxy);
when(mockRegSvc.getName()).thenReturn(svcId);
when(mockRegSvc.matches(argThat(new VerifyServiceByIdMatcher(svcId)))).thenReturn(true);
when(mockRegSvc.getAttributeReleasePolicy()).thenReturn(new ReturnAllAttributeReleasePolicy());
when(mockRegSvc.getUsernameAttributeProvider()).thenReturn(new DefaultRegisteredServiceUsernameProvider());
when(mockRegSvc.getAccessStrategy()).thenReturn(new DefaultRegisteredServiceAccessStrategy(enabled, true));
return mockRegSvc;
}
use of org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider in project cas by apereo.
the class LdapServiceRegistryDaoTests 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());
}
use of org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider in project cas by apereo.
the class DefaultUsernameAttributeProviderMapper method toUsernameAttributeProvider.
@Override
public RegisteredServiceUsernameAttributeProvider toUsernameAttributeProvider(final ServiceData data) {
final RegisteredServiceUsernameAttributeProviderEditBean userAttrProvider = data.getUserAttrProvider();
final String uidType = userAttrProvider.getType();
if (StringUtils.equalsIgnoreCase(uidType, RegisteredServiceUsernameAttributeProviderEditBean.Types.DEFAULT.toString())) {
return new DefaultRegisteredServiceUsernameProvider();
} else if (StringUtils.equalsIgnoreCase(uidType, RegisteredServiceUsernameAttributeProviderEditBean.Types.ANONYMOUS.toString())) {
final String salt = userAttrProvider.getValue();
if (StringUtils.isNotBlank(salt)) {
final ShibbolethCompatiblePersistentIdGenerator generator = new ShibbolethCompatiblePersistentIdGenerator(salt);
return new AnonymousRegisteredServiceUsernameAttributeProvider(generator);
} else {
throw new IllegalArgumentException("Invalid sale value for anonymous ids " + salt);
}
} else if (StringUtils.equalsIgnoreCase(uidType, RegisteredServiceUsernameAttributeProviderEditBean.Types.ATTRIBUTE.toString())) {
final String attr = userAttrProvider.getValue();
if (StringUtils.isNotBlank(attr)) {
return new PrincipalAttributeRegisteredServiceUsernameProvider(attr);
} else {
throw new IllegalArgumentException("Invalid attribute specified for username");
}
}
return null;
}
use of org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider in project cas by apereo.
the class DefaultUsernameAttributeProviderMapper method mapUsernameAttributeProvider.
@Override
public void mapUsernameAttributeProvider(final RegisteredServiceUsernameAttributeProvider provider, final ServiceData bean) {
final RegisteredServiceUsernameAttributeProviderEditBean uBean = bean.getUserAttrProvider();
if (provider instanceof DefaultRegisteredServiceUsernameProvider) {
uBean.setType(RegisteredServiceUsernameAttributeProviderEditBean.Types.DEFAULT.toString());
} else if (provider instanceof AnonymousRegisteredServiceUsernameAttributeProvider) {
final AnonymousRegisteredServiceUsernameAttributeProvider anonymous = (AnonymousRegisteredServiceUsernameAttributeProvider) provider;
uBean.setType(RegisteredServiceUsernameAttributeProviderEditBean.Types.ANONYMOUS.toString());
final PersistentIdGenerator generator = anonymous.getPersistentIdGenerator();
if (generator instanceof ShibbolethCompatiblePersistentIdGenerator) {
final ShibbolethCompatiblePersistentIdGenerator sh = (ShibbolethCompatiblePersistentIdGenerator) generator;
if (sh.getSalt() != null) {
final String salt = new String(sh.getSalt(), Charset.defaultCharset());
uBean.setValue(salt);
} else {
throw new IllegalArgumentException("Salt cannot be null");
}
}
} else if (provider instanceof PrincipalAttributeRegisteredServiceUsernameProvider) {
final PrincipalAttributeRegisteredServiceUsernameProvider p = (PrincipalAttributeRegisteredServiceUsernameProvider) provider;
uBean.setType(RegisteredServiceUsernameAttributeProviderEditBean.Types.ATTRIBUTE.toString());
uBean.setValue(p.getUsernameAttribute());
}
}
use of org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider in project cas by apereo.
the class GoogleAccountsServiceTests method getGoogleAccountsService.
public GoogleAccountsService getGoogleAccountsService() throws Exception {
final MockHttpServletRequest request = new MockHttpServletRequest();
final String samlRequest = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<samlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\" " + "ID=\"5545454455\" Version=\"2.0\" IssueInstant=\"Value\" " + "ProtocolBinding=\"urn:oasis:names.tc:SAML:2.0:bindings:HTTP-Redirect\" " + "ProviderName=\"https://localhost:8443/myRutgers\" AssertionConsumerServiceURL=\"https://localhost:8443/myRutgers\"/>";
request.setParameter(SamlProtocolConstants.PARAMETER_SAML_REQUEST, encodeMessage(samlRequest));
request.setParameter(SamlProtocolConstants.PARAMETER_SAML_RELAY_STATE, "RelayStateAddedHere");
final RegisteredService regSvc = mock(RegisteredService.class);
when(regSvc.getUsernameAttributeProvider()).thenReturn(new DefaultRegisteredServiceUsernameProvider());
final ServicesManager servicesManager = mock(ServicesManager.class);
when(servicesManager.findServiceBy(any(Service.class))).thenReturn(regSvc);
return (GoogleAccountsService) factory.createService(request);
}
Aggregations