Example usage for org.apache.hadoop.security.authentication.util FileSignerSecretProvider FileSignerSecretProvider

List of usage examples for org.apache.hadoop.security.authentication.util FileSignerSecretProvider FileSignerSecretProvider

Introduction

In this page you can find the example usage for org.apache.hadoop.security.authentication.util FileSignerSecretProvider FileSignerSecretProvider.

Prototype

public FileSignerSecretProvider() 

Source Link

Usage

From source file:org.apache.ranger.security.web.filter.RangerKrbFilter.java

License:Apache License

public static SignerSecretProvider constructSecretProvider(ServletContext ctx, Properties config,
        boolean disallowFallbackToRandomSecretProvider) throws Exception {
    long validity = Long.parseLong(config.getProperty(AUTH_TOKEN_VALIDITY, "36000")) * 1000;

    String name = config.getProperty(SIGNER_SECRET_PROVIDER);
    if (StringUtils.isEmpty(name)) {
        if (!disallowFallbackToRandomSecretProvider) {
            name = "random";
        } else {//w  w  w.  j a  v  a  2s  .  c om
            name = "file";
        }
    }

    SignerSecretProvider provider;
    if ("file".equals(name)) {
        provider = new FileSignerSecretProvider();
        try {
            provider.init(config, ctx, validity);
        } catch (Exception e) {
            if (!disallowFallbackToRandomSecretProvider) {
                LOG.info("Unable to initialize FileSignerSecretProvider, "
                        + "falling back to use random secrets.");
                provider = new RandomSignerSecretProvider();
                provider.init(config, ctx, validity);
            } else {
                throw e;
            }
        }
    } else if ("random".equals(name)) {
        provider = new RandomSignerSecretProvider();
        provider.init(config, ctx, validity);
    } else if ("zookeeper".equals(name)) {
        provider = new ZKSignerSecretProvider();
        provider.init(config, ctx, validity);
    } else {
        provider = (SignerSecretProvider) Thread.currentThread().getContextClassLoader().loadClass(name)
                .newInstance();
        provider.init(config, ctx, validity);
    }
    return provider;
}

From source file:org.apache.zeppelin.realm.kerberos.KerberosRealm.java

License:Apache License

private SignerSecretProvider constructSecretProvider(boolean fallbackToRandomSecretProvider) throws Exception {
    SignerSecretProvider provider;//from www  . j ava2  s.  c  om
    String secretProvider = config.getProperty(SIGNER_SECRET_PROVIDER);

    if (fallbackToRandomSecretProvider && config.getProperty(SIGNATURE_SECRET_FILE) == null) {
        secretProvider = "random";
    }

    if ("file".equals(secretProvider)) {
        try {
            provider = new FileSignerSecretProvider();
            provider.init(config, null, tokenValidity);
            LOG.info("File based secret signer initialized.");
        } catch (Exception e) {
            if (fallbackToRandomSecretProvider) {
                LOG.info("Unable to initialize FileSignerSecretProvider, "
                        + "falling back to use random secrets.");
                provider = new RandomSignerSecretProvider();
                provider.init(config, null, tokenValidity);
                LOG.info("Random secret signer initialized.");
            } else {
                throw new RuntimeException("Can't initialize File based secret signer. Reason: " + e);
            }
        }
    } else if ("random".equals(secretProvider)) {
        provider = new RandomSignerSecretProvider();
        provider.init(config, null, tokenValidity);
        LOG.info("Random secret signer initialized.");
    } else {
        throw new RuntimeException("Custom secret signer not implemented yet. Use 'file' or 'random'.");
    }
    return provider;
}