2016-11-11 12 views
1

ユーザープールユーザーがAWSリソースにアクセスするためのこの「ID ID」を生成しようとしています。しかし、失敗しました。 Androidのコードは、ログイン・マップに「idToken」&ユーザープールのURLを渡すことについて言うもののIntegrating User pool with Cognito(Swift) Documentation.AWS Cognito認証済みの資格情報IOS Swift 2.3-3(ユーザープールとアイデンティティプールの統合)

に記載されているすべてのです

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    // Override point for customization after application launch. 

    //user pool configuration 
    let serviceConfiguration = AWSServiceConfiguration(
     region: AWSRegionType.USWest2, 
     credentialsProvider: nil) 

    let userPoolConfiguration = AWSCognitoIdentityUserPoolConfiguration(clientId: K.COGNITO_USER_POOL_APP_CLIENT_ID, clientSecret: K.COGNITO_USER_POOL_APP_CLIENT_SECRET, poolId: K.COGNITO_USER_POOL_ID) 

    //create a pool 
    AWSCognitoIdentityUserPool.registerCognitoIdentityUserPoolWithConfiguration(serviceConfiguration, userPoolConfiguration: userPoolConfiguration, forKey: "UserPool") 

    self.pool = AWSCognitoIdentityUserPool(forKey: "UserPool") 
    self.credentialsProvider = AWSCognitoCredentialsProvider(regionType: .USWest2, identityPoolId: K.IDENTITY_POOL_ID, identityProviderManager: self.pool!) 

    let configuration = AWSServiceConfiguration(region: AWSRegionType.USWest2, credentialsProvider: self.credentialsProvider) 

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

    self.pool!.delegate = self 
    self.user = self.pool!.currentUser() 

    return true 

} 

は、SWIFTコードで述べたようなものはありません。

これまでのところ、ユーザーがアプリケーションにサインインした後、Xcodeのログウィンドウに「AccessToken」&「IdToken」が表示されます。

Authenticated Identitiesを取得するためにさらに必要なことは何ですか?私が間違っているなら私を訂正する..ありがとう。

答えて

1

あなたが正しいとすれば、ドキュメントはアイデンティティプールとユーザープールのためにあまり役に立ちません。

他のドキュメントや例によりますが、AWS Mobile Hubを使用することをお勧めします。そのサイトを使用すると、ユーザプールと別のアイデンティティプロバイダ(GoogleまたはFacebook)の統合を適切に行う完全なSwift Xcodeプロジェクトがダウンロードされます。ユーザープールの統合は、モバイルハブの新機能です。

また、モバイルハブにはダウンロードしたアプリのアーキテクチャがあり、アイデンティティ管理とサインイン管理が分離されています。

しかし、ドキュメントを使用してこれを引き続きスローする場合は、次のメモセットが役立ちます。さらに次のような顕著な点があります。

1)SDKを使用する場合、トークンを管理する必要はありません。SDKは、トークンを保持し交換するトークンを取得します。

2)ユーザープールを正しく設定し、IAMを正しく設定し、短いシーケンスのSDK呼び出し(下記)を呼び出すだけです。モバイルハブが大切にしていることの1つは、一度あなたのためにすべての権利を得て、学習しながらそれを変更して進化させることです。

3)呼び出しの短いシーケンスは次のとおりです。 - ユーザーのプール を作る - アイデンティティプール を作る - あなたのサービスの設定 (ノート用のユーザー・プールidentityProviderManagerを行いますので、すべての、あなたは上記のすべてのことを行っています - Get Identity API呼び出しを実行する(これは、Get Session SDK呼び出しを行うときに行われます) - GetCredentialsForIdentity API呼び出しを実行します(これは、 SDKコール)

その時点で、ログインした(認証された)状態に基づいてAWSサービスにアクセスするための資格情報と、 d IAMの関連ルール。機能など、そのリポジトリでさらにnotes on using cognito and user pools

登録を含む共同作業アイデンティティプールを持つユーザー・プールの例があり、忘れてしまったパスワードなど、そして:

(と思う)役立つこれらのノートの説明がありますアイデンティティマージを行う。

(モバイルハブの新しいユーザープールコードは、ユーザープールコードを追加した4日前の時点ではうまくいきますが、まだIDマージは行っていません)。

希望すると便利です。

関連する問題