Search in sources :

Example 6 with PersonAuthenticationType

use of org.xdi.model.custom.script.type.auth.PersonAuthenticationType in project oxAuth by GluuFederation.

the class IdTokenFactory method setAmrClaim.

private void setAmrClaim(JsonWebResponse jwt, String acrValues) {
    List<String> amrList = Lists.newArrayList();
    CustomScriptConfiguration script = externalAuthenticationService.getCustomScriptConfiguration(AuthenticationScriptUsageType.BOTH, acrValues);
    if (script != null) {
        amrList.add(Integer.toString(script.getLevel()));
        PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) script.getExternalType();
        int apiVersion = externalAuthenticator.getApiVersion();
        if (apiVersion > 3) {
            Map<String, String> authenticationMethodClaimsOrNull = externalAuthenticator.getAuthenticationMethodClaims();
            if (authenticationMethodClaimsOrNull != null) {
                for (String key : authenticationMethodClaimsOrNull.keySet()) {
                    amrList.add(key + ":" + authenticationMethodClaimsOrNull.get(key));
                }
            }
        }
    }
    jwt.getClaims().setClaim(JwtClaimName.AUTHENTICATION_METHOD_REFERENCES, amrList);
}
Also used : PersonAuthenticationType(org.xdi.model.custom.script.type.auth.PersonAuthenticationType) CustomScriptConfiguration(org.xdi.model.custom.script.conf.CustomScriptConfiguration)

Example 7 with PersonAuthenticationType

use of org.xdi.model.custom.script.type.auth.PersonAuthenticationType in project oxAuth by GluuFederation.

the class ExternalAuthenticationService method executeExternalGetApiVersion.

public int executeExternalGetApiVersion(CustomScriptConfiguration customScriptConfiguration) {
    try {
        log.debug("Executing python 'getApiVersion' authenticator method");
        PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
        return externalAuthenticator.getApiVersion();
    } catch (Exception ex) {
        log.error(ex.getMessage(), ex);
    }
    return -1;
}
Also used : PersonAuthenticationType(org.xdi.model.custom.script.type.auth.PersonAuthenticationType) InternalDefaultPersonAuthenticationType(org.xdi.oxauth.service.external.internal.InternalDefaultPersonAuthenticationType)

Example 8 with PersonAuthenticationType

use of org.xdi.model.custom.script.type.auth.PersonAuthenticationType in project oxAuth by GluuFederation.

the class ExternalAuthenticationService method executeExternalAuthenticate.

public boolean executeExternalAuthenticate(CustomScriptConfiguration customScriptConfiguration, Map<String, String[]> requestParameters, int step) {
    try {
        log.debug("Executing python 'authenticate' authenticator method");
        PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
        Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
        return externalAuthenticator.authenticate(configurationAttributes, requestParameters, step);
    } catch (Exception ex) {
        log.error(ex.getMessage(), ex);
    }
    return false;
}
Also used : PersonAuthenticationType(org.xdi.model.custom.script.type.auth.PersonAuthenticationType) InternalDefaultPersonAuthenticationType(org.xdi.oxauth.service.external.internal.InternalDefaultPersonAuthenticationType) SimpleCustomProperty(org.xdi.model.SimpleCustomProperty)

Example 9 with PersonAuthenticationType

use of org.xdi.model.custom.script.type.auth.PersonAuthenticationType in project oxAuth by GluuFederation.

the class ExternalAuthenticationService method executeExternalGetAlternativeAuthenticationMethod.

private String executeExternalGetAlternativeAuthenticationMethod(AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration) {
    try {
        log.debug("Executing python 'getAlternativeAuthenticationMethod' authenticator method");
        PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
        Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
        return externalAuthenticator.getAlternativeAuthenticationMethod(usageType, configurationAttributes);
    } catch (Exception ex) {
        log.error(ex.getMessage(), ex);
    }
    return null;
}
Also used : PersonAuthenticationType(org.xdi.model.custom.script.type.auth.PersonAuthenticationType) InternalDefaultPersonAuthenticationType(org.xdi.oxauth.service.external.internal.InternalDefaultPersonAuthenticationType) SimpleCustomProperty(org.xdi.model.SimpleCustomProperty)

Example 10 with PersonAuthenticationType

use of org.xdi.model.custom.script.type.auth.PersonAuthenticationType in project oxAuth by GluuFederation.

the class ExternalAuthenticationService method executeExternalIsValidAuthenticationMethod.

private boolean executeExternalIsValidAuthenticationMethod(AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration) {
    try {
        log.debug("Executing python 'isValidAuthenticationMethod' authenticator method");
        PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
        Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
        return externalAuthenticator.isValidAuthenticationMethod(usageType, configurationAttributes);
    } catch (Exception ex) {
        log.error(ex.getMessage(), ex);
    }
    return false;
}
Also used : PersonAuthenticationType(org.xdi.model.custom.script.type.auth.PersonAuthenticationType) InternalDefaultPersonAuthenticationType(org.xdi.oxauth.service.external.internal.InternalDefaultPersonAuthenticationType) SimpleCustomProperty(org.xdi.model.SimpleCustomProperty)

Aggregations

PersonAuthenticationType (org.xdi.model.custom.script.type.auth.PersonAuthenticationType)12 InternalDefaultPersonAuthenticationType (org.xdi.oxauth.service.external.internal.InternalDefaultPersonAuthenticationType)11 SimpleCustomProperty (org.xdi.model.SimpleCustomProperty)10 CustomScriptConfiguration (org.xdi.model.custom.script.conf.CustomScriptConfiguration)1