Example usage for com.amazonaws.services.securitytoken.model AssumeRoleWithWebIdentityRequest AssumeRoleWithWebIdentityRequest

List of usage examples for com.amazonaws.services.securitytoken.model AssumeRoleWithWebIdentityRequest AssumeRoleWithWebIdentityRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.securitytoken.model AssumeRoleWithWebIdentityRequest AssumeRoleWithWebIdentityRequest.

Prototype

AssumeRoleWithWebIdentityRequest

Source Link

Usage

From source file:io.fineo.client.auth.CognitoCredentialsProvider.java

License:Open Source License

/**
 * Gets the session credentials by requesting an OpenId Connect token from
 * Amazon Cognito and then trading it with AWS Secure Token Service for the
 * short lived session credentials.//  w ww .ja va 2  s .  c o m
 */
private void populateCredentialsWithSts(String token) {

    boolean isAuthenticated = identityProvider.isAuthenticated();
    String roleArn = (isAuthenticated) ? authRoleArn : unauthRoleArn;

    AssumeRoleWithWebIdentityRequest sessionTokenRequest = new AssumeRoleWithWebIdentityRequest()
            .withWebIdentityToken(token).withRoleArn(roleArn).withRoleSessionName("ProviderSession")
            .withDurationSeconds(sessionDuration);
    appendUserAgent(sessionTokenRequest, getUserAgent());
    AssumeRoleWithWebIdentityResult sessionTokenResult = securityTokenService
            .assumeRoleWithWebIdentity(sessionTokenRequest);
    Credentials stsCredentials = sessionTokenResult.getCredentials();

    sessionCredentials = new BasicSessionCredentials(stsCredentials.getAccessKeyId(),
            stsCredentials.getSecretAccessKey(), stsCredentials.getSessionToken());
    sessionCredentialsExpiration = stsCredentials.getExpiration();

}