Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012-2015 Amazon Technologies, Inc.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at:
   *
   *    http://aws.amazon.com/apache2.0
   *
  * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
  * OR CONDITIONS OF ANY KIND, either express or implied. See the
  * License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.amazonaws.auth;
 
 import java.util.Map;
 
Session credentials provider factory to share providers across potentially many clients.
 
 public class SessionCredentialsProviderFactory {

    
Key object for the cache combines the access key and the service endpoint.
 
     private static final class Key {
 
         private final String awsAccessKeyId;
         private final String serviceEndpoint;
 
         public Key(String awsAccessKeyIdString serviceEndpoint) {
             this. = awsAccessKeyId;
             this. = serviceEndpoint;
         }
 
         @Override
         public int hashCode() {
             final int prime = 31;
             int result = 1;
             result = prime * result + (( == null) ? 0 : .hashCode());
             result = prime * result + (( == null) ? 0 : .hashCode());
             return result;
         }
 
         @Override
         public boolean equals(Object obj) {
             if ( this == obj )
                 return true;
             if ( obj == null )
                 return false;
             if ( getClass() != obj.getClass() )
                 return false;
             Key other = (Keyobj;
             if (  == null ) {
                 if ( other.awsAccessKeyId != null )
                     return false;
             } else if ( !.equals(other.awsAccessKeyId) )
                 return false;
             if (  == null ) {
                 if ( other.serviceEndpoint != null )
                     return false;
             } else if ( !.equals(other.serviceEndpoint) )
                 return false;
             return true;
         }
     }
 
Gets a session credentials provider for the long-term credentials and service endpoint given. These are shared globally to support reuse of session tokens.

Parameters:
longTermCredentials The long-term AWS account credentials used to initiate a session.
serviceEndpoint The service endpoint for the service the session credentials will be used to access.
stsClientConfiguration Client configuration for the AWSSecurityTokenService used to fetch session credentials.
 
     public static synchronized STSSessionCredentialsProvider getSessionCredentialsProvider(AWSCredentials longTermCredentials,
                                                                                            String serviceEndpoint,
                                                                                            ClientConfiguration stsClientConfiguration) {
         Key key = new Key(longTermCredentials.getAWSAccessKeyId(), serviceEndpoint);
         if ( !.containsKey(key) ) {
             .put(keynew STSSessionCredentialsProvider(longTermCredentialsstsClientConfiguration));
         }
         return .get(key);
     }
New to GrepCode? Check out our FAQ X