AWSWebIdentityCredentialsProvider How to get parameters values?

匿名 (未验证) 提交于 2019-12-03 10:24:21

问题:

Am trying to use the below code to do authentication,

But i am unable to get the values needs to be passed to following parameters, providerId, roleArn, roleSessionName.

However, webIdentityToken value i will receive it from our local server.

AWSWebIdentityCredentialsProvider *provideer = [AWSWebIdentityCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1 providerId:@"" roleArn:@"" roleSessionName:"" webIdentityToken:@""]; 

Regards, Bhat

回答1:

Class.h  -------  @interface AWSCustomCredentialProvider : NSObject <AWSCredentialsProvider>  @property (nonatomic, readonly) NSString *accessKey;  @property (nonatomic, readonly) NSString *secretKey;  @property (nonatomic, readonly) NSString *sessionKey;  + (instancetype)credentialsWithAccessKey:(NSString *)accessKey                                secretKey:(NSString *)secretKey sessionKey: (NSString*)sessionKey;  + (instancetype)credentialsWithCredentialsFilename:(NSString *)credentialsFilename;  - (instancetype)initWithAccessKey:(NSString *)accessKey                         secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey;   @end  Class.m  ------- + (instancetype)credentialsWithAccessKey:(NSString *)accessKey                                secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey {     AWSCustomCredentialProvider *credentials = [[AWSCustomCredentialProvider alloc] initWithAccessKey:accessKey                                                                                               secretKey:secretKey sessionKey:sessionKey];     return credentials; } + (instancetype)credentialsWithCredentialsFilename:(NSString *)credentialsFilename {     NSString *filePath = [[NSBundle bundleForClass:[self class]] pathForResource:credentialsFilename ofType:@"json"];     NSDictionary *credentialsJson = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:filePath]                                                                     options:NSJSONReadingMutableContainers                                                                       error:nil];     AWSCustomCredentialProvider *credentials = [[AWSCustomCredentialProvider alloc] initWithAccessKey:credentialsJson[@"accessKey"]                                                                                               secretKey:credentialsJson[@"secretKey"] sessionKey:credentialsJson[@"sessionKey"]];     return credentials; } - (instancetype)initWithAccessKey:(NSString *)accessKey                         secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey {     if (self = [super init]) {         _accessKey = accessKey;         _secretKey = secretKey;         _sessionKey = sessionKey;     }     return self; } Usage is:  -----  AWSCustomCredentialProvider *credentialsProvider = [AWSCustomCredentialProvider credentialsWithAccessKey:[[NSUserDefaults standardUserDefaults] objectForKey:AccessKey_Element] secretKey:[[NSUserDefaults standardUserDefaults] objectForKey:SecretKey_Element] sessionKey:[[NSUserDefaults standardUserDefaults] objectForKey:Token_Element]]; 


回答2:

I have created custom credential provider and amazon authentication mechanism works flawlessly :) . I have followed the steps same as that of Static Credential provider.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!