use of org.wso2.carbon.identity.application.common.model.xsd.FederatedAuthenticatorConfig in project product-is by wso2.
the class SelfRegistrationTestCase method updateFederatedAuthenticators.
private void updateFederatedAuthenticators(IdentityProvider identityProvider) {
List<FederatedAuthenticatorConfig> updatedConfigs = new ArrayList<>();
for (FederatedAuthenticatorConfig config : identityProvider.getFederatedAuthenticatorConfigs()) {
if ("samlsso".equals(config.getName())) {
updatedConfigs.add(config);
} else if ("openidconnect".equals(config.getName())) {
updatedConfigs.add(config);
} else if ("passivests".equals(config.getName())) {
updatedConfigs.add(config);
}
}
identityProvider.setFederatedAuthenticatorConfigs(updatedConfigs.toArray(new FederatedAuthenticatorConfig[0]));
}
use of org.wso2.carbon.identity.application.common.model.xsd.FederatedAuthenticatorConfig in project identity-api-server by wso2.
the class ServerIdpManagementService method createFederatedAuthenticatorResponse.
private FederatedAuthenticatorListResponse createFederatedAuthenticatorResponse(IdentityProvider idp) {
FederatedAuthenticatorConfig[] fedAuthConfigs = idp.getFederatedAuthenticatorConfigs();
FederatedAuthenticatorListResponse fedAuthIDPResponse = new FederatedAuthenticatorListResponse();
List<FederatedAuthenticatorListItem> authenticators = new ArrayList<>();
for (FederatedAuthenticatorConfig fedAuthConfig : fedAuthConfigs) {
FederatedAuthenticatorListItem fedAuthListItem = new FederatedAuthenticatorListItem();
fedAuthListItem.setAuthenticatorId(base64URLEncode(fedAuthConfig.getName()));
fedAuthListItem.setName(fedAuthConfig.getName());
fedAuthListItem.setIsEnabled(fedAuthConfig.isEnabled());
FederatedAuthenticatorConfig federatedAuthenticatorConfig = ApplicationAuthenticatorService.getInstance().getFederatedAuthenticatorByName(fedAuthConfig.getName());
if (federatedAuthenticatorConfig != null) {
String[] tags = federatedAuthenticatorConfig.getTags();
if (ArrayUtils.isNotEmpty(tags)) {
fedAuthListItem.setTags(Arrays.asList(tags));
}
}
fedAuthListItem.setSelf(ContextLoader.buildURIForBody(String.format(V1_API_PATH_COMPONENT + IDP_PATH_COMPONENT + "/%s/federated-authenticators/%s", idp.getResourceId(), base64URLEncode(fedAuthConfig.getName()))).toString());
authenticators.add(fedAuthListItem);
}
fedAuthIDPResponse.setDefaultAuthenticatorId(idp.getDefaultAuthenticatorConfig() != null ? base64URLEncode(idp.getDefaultAuthenticatorConfig().getName()) : null);
fedAuthIDPResponse.setAuthenticators(authenticators);
return fedAuthIDPResponse;
}
use of org.wso2.carbon.identity.application.common.model.xsd.FederatedAuthenticatorConfig in project identity-api-server by wso2.
the class ServerIdpManagementService method createMetaFederatedAuthenticatorListItem.
private MetaFederatedAuthenticatorListItem createMetaFederatedAuthenticatorListItem(FederatedAuthenticatorConfig authenticatorConfig) {
MetaFederatedAuthenticatorListItem metaFederatedAuthenticator = new MetaFederatedAuthenticatorListItem();
String authenticatorId = base64URLEncode(authenticatorConfig.getName());
metaFederatedAuthenticator.setName(authenticatorConfig.getName());
metaFederatedAuthenticator.setAuthenticatorId(authenticatorId);
FederatedAuthenticatorConfig federatedAuthenticatorConfig = ApplicationAuthenticatorService.getInstance().getFederatedAuthenticatorByName(authenticatorConfig.getName());
if (federatedAuthenticatorConfig != null) {
String[] tags = federatedAuthenticatorConfig.getTags();
if (ArrayUtils.isNotEmpty(tags)) {
metaFederatedAuthenticator.setTags(Arrays.asList(tags));
}
}
metaFederatedAuthenticator.setSelf(ContextLoader.buildURIForBody(String.format(V1_API_PATH_COMPONENT + IDP_PATH_COMPONENT + "/meta/federated-authenticators/%s", authenticatorId)).toString());
return metaFederatedAuthenticator;
}
use of org.wso2.carbon.identity.application.common.model.xsd.FederatedAuthenticatorConfig in project identity-api-server by wso2.
the class ServerIdpManagementService method createFederatedAuthenticator.
/**
* Create API Federated Authenticator model using internal FederatedAuthenticatorConfig.
*
* @param authenticatorId Federated Authenticator ID.
* @param identityProvider Identity Provider information.
* @return FederatedAuthenticator.
*/
private FederatedAuthenticator createFederatedAuthenticator(String authenticatorId, IdentityProvider identityProvider) {
FederatedAuthenticatorConfig[] authConfigs = identityProvider.getFederatedAuthenticatorConfigs();
if (ArrayUtils.isEmpty(authConfigs)) {
return null;
}
FederatedAuthenticatorConfig config = null;
boolean isDefaultAuthenticator = false;
String authenticatorName = base64URLDecode(authenticatorId);
for (FederatedAuthenticatorConfig authConfig : authConfigs) {
if (StringUtils.equals(authConfig.getName(), authenticatorName)) {
config = authConfig;
}
}
if (identityProvider.getDefaultAuthenticatorConfig() != null && StringUtils.equals(identityProvider.getDefaultAuthenticatorConfig().getName(), authenticatorName)) {
isDefaultAuthenticator = true;
}
FederatedAuthenticator federatedAuthenticator = new FederatedAuthenticator();
if (config != null) {
federatedAuthenticator.setAuthenticatorId(authenticatorId);
federatedAuthenticator.setName(config.getName());
federatedAuthenticator.setIsEnabled(config.isEnabled());
federatedAuthenticator.setIsDefault(isDefaultAuthenticator);
FederatedAuthenticatorConfig federatedAuthenticatorConfig = ApplicationAuthenticatorService.getInstance().getFederatedAuthenticatorByName(config.getName());
if (federatedAuthenticatorConfig != null) {
String[] tags = federatedAuthenticatorConfig.getTags();
if (ArrayUtils.isNotEmpty(tags)) {
federatedAuthenticator.setTags(Arrays.asList(tags));
}
}
List<org.wso2.carbon.identity.api.server.idp.v1.model.Property> properties = Arrays.stream(config.getProperties()).map(propertyToExternal).collect(Collectors.toList());
federatedAuthenticator.setProperties(properties);
}
return federatedAuthenticator;
}
use of org.wso2.carbon.identity.application.common.model.xsd.FederatedAuthenticatorConfig in project identity-api-server by wso2.
the class ServerIdpManagementService method getFederatedAuthenticators.
/**
* Returns configured federated authenticators of a specific identity provider.
*
* @param idpId Identity provider resource ID.
* @return FederatedAuthenticatorListResponse Federated authenticator list.
*/
public FederatedAuthenticatorListResponse getFederatedAuthenticators(String idpId) {
FederatedAuthenticatorListResponse listResponse;
try {
IdentityProvider idP = IdentityProviderServiceHolder.getIdentityProviderManager().getIdPByResourceId(idpId, ContextLoader.getTenantDomainFromContext(), true);
if (idP == null) {
throw handleException(Response.Status.NOT_FOUND, Constants.ErrorMessage.ERROR_CODE_IDP_NOT_FOUND, idpId);
}
listResponse = new FederatedAuthenticatorListResponse();
FederatedAuthenticatorConfig[] fedAuthConfigs = idP.getFederatedAuthenticatorConfigs();
if (fedAuthConfigs != null) {
List<FederatedAuthenticatorListItem> fedAuthList = new ArrayList<>();
String defaultAuthenticator = null;
for (FederatedAuthenticatorConfig config : fedAuthConfigs) {
String fedAuthId = base64URLEncode(config.getName());
FederatedAuthenticatorListItem listItem = new FederatedAuthenticatorListItem();
listItem.setAuthenticatorId(fedAuthId);
listItem.setName(config.getName());
listItem.setIsEnabled(config.isEnabled());
FederatedAuthenticatorConfig federatedAuthenticatorConfig = ApplicationAuthenticatorService.getInstance().getFederatedAuthenticatorByName(config.getName());
if (federatedAuthenticatorConfig != null) {
String[] tags = federatedAuthenticatorConfig.getTags();
if (ArrayUtils.isNotEmpty(tags)) {
listItem.setTags(Arrays.asList(tags));
}
}
listItem.setSelf(ContextLoader.buildURIForBody(String.format(V1_API_PATH_COMPONENT + IDP_PATH_COMPONENT + "/%s/federated-authenticators/%s", idpId, fedAuthId)).toString());
fedAuthList.add(listItem);
if (idP.getDefaultAuthenticatorConfig() != null) {
defaultAuthenticator = base64URLEncode(idP.getDefaultAuthenticatorConfig().getName());
}
}
listResponse.setDefaultAuthenticatorId(defaultAuthenticator);
listResponse.setAuthenticators(fedAuthList);
}
} catch (IdentityProviderManagementException e) {
throw handleIdPException(e, Constants.ErrorMessage.ERROR_CODE_ERROR_RETRIEVING_IDP_AUTHENTICATORS, idpId);
}
return listResponse;
}
Aggregations