Search in sources :

Example 1 with CustomProperty

use of org.xdi.oxauth.model.config.CustomProperty in project oxAuth by GluuFederation.

the class LdapCustomAuthenticationConfigurationService method mapCustomAuthentication.

private CustomAuthenticationConfiguration mapCustomAuthentication(oxIDPAuthConf oneConf) {
    CustomAuthenticationConfiguration customAuthenticationConfig = new CustomAuthenticationConfiguration();
    customAuthenticationConfig.setName(oneConf.getName());
    customAuthenticationConfig.setLevel(oneConf.getLevel());
    customAuthenticationConfig.setPriority(oneConf.getPriority());
    customAuthenticationConfig.setEnabled(oneConf.getEnabled());
    customAuthenticationConfig.setVersion(oneConf.getVersion());
    for (CustomProperty customProperty : oneConf.getFields()) {
        if ((customProperty.getValues() == null) || (customProperty.getValues().size() == 0)) {
            continue;
        }
        String attrName = StringHelper.toLowerCase(customProperty.getName());
        if (StringHelper.isEmpty(attrName)) {
            continue;
        }
        String value = customProperty.getValues().get(0);
        if (attrName.startsWith(CUSTOM_AUTHENTICATION_PROPERTY_PREFIX)) {
            String key = customProperty.getName().substring(CUSTOM_AUTHENTICATION_PROPERTY_PREFIX.length());
            SimpleCustomProperty property = new SimpleCustomProperty(key, value);
            customAuthenticationConfig.getCustomAuthenticationAttributes().add(property);
        } else if (StringHelper.equalsIgnoreCase(attrName, CUSTOM_AUTHENTICATION_SCRIPT_PROPERTY_NAME)) {
            customAuthenticationConfig.setCustomAuthenticationScript(value);
        } else if (StringHelper.equalsIgnoreCase(attrName, CUSTOM_AUTHENTICATION_SCRIPT_USAGE_TYPE)) {
            if (StringHelper.isNotEmpty(value)) {
                AuthenticationScriptUsageType authenticationScriptUsageType = AuthenticationScriptUsageType.getByValue(value);
                customAuthenticationConfig.setUsageType(authenticationScriptUsageType);
            }
        }
    }
    return customAuthenticationConfig;
}
Also used : CustomAuthenticationConfiguration(org.xdi.model.config.CustomAuthenticationConfiguration) SimpleCustomProperty(org.xdi.model.SimpleCustomProperty) CustomProperty(org.xdi.oxauth.model.config.CustomProperty) SimpleCustomProperty(org.xdi.model.SimpleCustomProperty) AuthenticationScriptUsageType(org.xdi.model.AuthenticationScriptUsageType)

Example 2 with CustomProperty

use of org.xdi.oxauth.model.config.CustomProperty in project oxAuth by GluuFederation.

the class PythonToLdapString method createAttribute.

private CustomProperty createAttribute(String p_name, String p_value) {
    final List<String> v = new ArrayList<String>();
    v.add(p_value);
    final CustomProperty result = new CustomProperty();
    result.setName(p_name);
    result.setValues(v);
    return result;
}
Also used : ArrayList(java.util.ArrayList) CustomProperty(org.xdi.oxauth.model.config.CustomProperty)

Example 3 with CustomProperty

use of org.xdi.oxauth.model.config.CustomProperty in project oxAuth by GluuFederation.

the class PythonToLdapString method test.

// @Override
// public void beforeClass() {
//
// }
//
// @Override
// public void afterClass() {
//
// }
// VIEW:
// u:\own\java\opendj-2.4.4\OpenDJ\bat\ldapsearch.bat -h localhost -p 1636
// -Z -X -D "cn=directory manager" -w secret -b "ou=appliances,o=gluu"
// "inum=@!1111!0002!4907"
// MODIFY:
// u:\own\java\opendj-2.4.4\OpenDJ\bat\ldapmodify.bat -h localhost -p 1636
// -Z -X -D "cn=directory manager" -w secret -f
// U:\own\project\oxAuth\Server\src\test\java\org\xdi\oxauth\dev\duo\script.ldif
@Test
public void test() throws IOException {
    final File f = new File("U:\\own\\project\\oxAuth\\Server\\integrations\\duo\\ExternalAuthenticator.py");
    final String pythonScript = IOUtils.toString(new FileInputStream(f));
    System.out.println("Python script: \n" + pythonScript);
    final List<CustomProperty> fields = new ArrayList<CustomProperty>();
    fields.add(createAttribute("property.duo_host", "api-fa928e64.duosecurity.com"));
    fields.add(createAttribute("property.duo_ikey", "DIT2906CETIMKHE1QND8"));
    fields.add(createAttribute("property.duo_skey", "cjNn9R4QvQV0R2Mynw2CauCUesojuR3cPGDoVygM"));
    fields.add(createAttribute("property.duo_akey", "6f88ca3dea7ac88a514cdef7c18021678ccaf0e1"));
    fields.add(createAttribute(SCRIPT_FIELD_NAME, pythonScript));
    final oxIDPAuthConf c = new oxIDPAuthConf();
    c.setType("customAuthentication");
    c.setName("duo");
    c.setEnabled(true);
    c.setLevel(1);
    c.setPriority(1);
    c.setFields(fields);
    final String json = getJSONString(c);
    System.out.println("JSON: \n" + json);
    final oxIDPAuthConf fromJson = fromJSON(json);
    for (CustomProperty attr : fromJson.getFields()) {
        if (attr.getName().equals(SCRIPT_FIELD_NAME)) {
            System.out.println("Script from json: \n" + attr.getValues().get(0));
        }
    }
}
Also used : ArrayList(java.util.ArrayList) CustomProperty(org.xdi.oxauth.model.config.CustomProperty) org.xdi.oxauth.model.config.oxIDPAuthConf(org.xdi.oxauth.model.config.oxIDPAuthConf) File(java.io.File) FileInputStream(java.io.FileInputStream) Test(org.testng.annotations.Test)

Aggregations

CustomProperty (org.xdi.oxauth.model.config.CustomProperty)3 ArrayList (java.util.ArrayList)2 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 Test (org.testng.annotations.Test)1 AuthenticationScriptUsageType (org.xdi.model.AuthenticationScriptUsageType)1 SimpleCustomProperty (org.xdi.model.SimpleCustomProperty)1 CustomAuthenticationConfiguration (org.xdi.model.config.CustomAuthenticationConfiguration)1 org.xdi.oxauth.model.config.oxIDPAuthConf (org.xdi.oxauth.model.config.oxIDPAuthConf)1