2017-02-13 48 views
2

Swift iOSアプリケーションでAWS Cognitoの問題"Unauthenticated access is not supported for this identity pool."と戦っています。以前はFireboxを認証&のストレージに使用していましたが、この問題の範囲外の理由でAWS Mobile Hudに移行することに決めました。AWS Cognito: "このIDプールで認証されていないアクセスはサポートされていません。

私が設定した/使用

  1. アマゾンモバイルハッドを提供する認証/アイデンティティ
  2. Facebookのためのすべてのサービスのモバイルハッドて
  3. AWS Cognitoがアイデンティティプロバイダが
  4. AWS DynamoDBのが賦活としてコンソールではまだ使用されていません
  5. AWS S3はコンソールで起動しますが、未使用です

プロジェクト用に生成されたサンプルアプリケーションをダウンロードして実行しました。

サンプルアプリを通じて、FacebookとCognitoで正常に登録/認証することができました。

は何?:作品私は私のプロジェクトにすべてのSDK/AWSのフレームワークを統合し、正常にビルドすることができていています(注:すべてのAWSのフレームワークは、静的なフレームワークとして「AWSMobileHubHelper」を除いて、cocoapodsを通じて統合されています) 。

私はアプリを構築することができ、それは直後のクラッシュログを開いた後?:アプリのクラッシュを動作しません何

を開きます。

2017-02-13 15:43:49.825 dates[19823:463495] AWSiOSSDK v2.5.0 [Debug] AWSURLSessionManager.m line:566 | -[AWSURLSessionManager printHTTPHeadersForResponse:] | Response headers: 
{ 
    Connection = "keep-alive"; 
    "Content-Length" = 111; 
    "Content-Type" = "application/x-amz-json-1.1"; 
    Date = "Mon, 13 Feb 2017 14:43:49 GMT"; 
    "x-amzn-ErrorMessage" = "Unauthenticated access is not supported for this identity pool."; 
    "x-amzn-ErrorType" = "NotAuthorizedException:"; 
    "x-amzn-RequestId" = "d4f8ec82-f1fa-11e6-bd81-3727ca129d86"; 
} 
2017-02-13 15:43:49.826 dates[19823:463495] AWSiOSSDK v2.5.0 [Debug] AWSURLResponseSerialization.m line:63 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | Response body: 
{"__type":"NotAuthorizedException","message":"Unauthenticated access is not supported for this identity pool."} 
2017-02-13 15:43:49.826 dates[19823:463495] AWSiOSSDK v2.5.0 [Error] AWSIdentityProvider.m line:309 | __52-[AWSCognitoCredentialsProviderHelper getIdentityId]_block_invoke.255 | GetId failed. Error is [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=NotAuthorizedException, message=Unauthenticated access is not supported for this identity pool.}] 
2017-02-13 15:43:49.826 dates[19823:463452] AWSiOSSDK v2.5.0 [Error] AWSCredentialsProvider.m line:565 | __44-[AWSCognitoCredentialsProvider credentials]_block_invoke.349 | Unable to refresh. Error is [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=NotAuthorizedException, message=Unauthenticated access is not supported for this identity pool.}] 
2017-02-13 15:43:49.827 dates[19823:463379] -[AWSTask exception]: unrecognized selector sent to instance 0x60800027af00 
2017-02-13 15:43:49.828 dates[19823:463379] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AWSTask exception]: unrecognized selector sent to instance 0x60800027af00' 
*** First throw call stack: 
(
    0 CoreFoundation      0x0000000112abcd4b __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x000000011251e21e objc_exception_throw + 48 
    2 CoreFoundation      0x0000000112b2cf04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 
    3 CoreFoundation      0x0000000112a42005 ___forwarding___ + 1013 
    4 CoreFoundation      0x0000000112a41b88 _CF_forwarding_prep_0 + 120 
    5 dates        0x000000010ef4e917 __35-[AWSIdentityManager completeLogin]_block_invoke_2 + 263 
    6 libdispatch.dylib     0x00000001150f4978 _dispatch_call_block_and_release + 12 
    7 libdispatch.dylib     0x000000011511e0cd _dispatch_client_callout + 8 
    8 libdispatch.dylib     0x00000001150fe8a4 _dispatch_main_queue_callback_4CF + 406 
    9 CoreFoundation      0x0000000112a80e49 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 
    10 CoreFoundation      0x0000000112a4637d __CFRunLoopRun + 2205 
    11 CoreFoundation      0x0000000112a45884 CFRunLoopRunSpecific + 420 
    12 GraphicsServices     0x0000000116249a6f GSEventRunModal + 161 
    13 UIKit        0x0000000112ee0c68 UIApplicationMain + 159 
    14 dates        0x000000010edac89f main + 111 
    15 libdyld.dylib      0x000000011516a68d start + 1 
    16 ???         0x0000000000000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

何私は試してみましたか? 1試合限り、私はサンプルアプリで

  • 比べてInfo.plistファイルを見るように:結果 - 1:1試合(私は関連する部分をコピーした - 検索結果:サンプルアプリで自分のコードを比較すると

    1. は、関連質問から
    2. クリーンすべてのシミュレータのデータ(別の類似quesitonによって参照された)
    3. しようとしたアプローチを再構築し、きれいな、すべてのフレームワークを削除します(チェック認証されていないアクセスを)
    私が認証されていないアクセスを許可する場合はどうなります

    ?:同じですが、異なる応答ヘッダー:(

    2017-02-13 16:25:06.213 dates[25642:544704] AWSiOSSDK v2.5.0 [Debug] AWSURLSessionManager.m line:566 | -[AWSURLSessionManager printHTTPHeadersForResponse:] | Response headers: 
    { 
        Connection = "keep-alive"; 
        "Content-Length" = 1612; 
        "Content-Type" = "application/x-amz-json-1.1"; 
        Date = "Mon, 13 Feb 2017 15:25:05 GMT"; 
        "x-amzn-RequestId" = "98feb58d-f200-11e6-9de9-471b5799b768"; 
    } 
    2017-02-13 16:25:06.213 dates[25642:544704] AWSiOSSDK v2.5.0 [Debug] AWSURLResponseSerialization.m line:63 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | Response body: 
    {"Credentials":{"AccessKeyId":"ASIAISM6BUQFY6FJ4EFQ","Expiration":1.487003106E9,"SecretKey":"rlILMNjU7oeg1NEYgj1y3E1v/5L3IOJNWtZ7jsOf","SessionToken":"AgoGb3JpZ2luEFMaCWV1LXdlc3QtMSKAAgM0QlWyWW3xJ0H3+suiuuekGl6LUznBSikSWbYgLD9C6nPywAyKIlI5EVSN0q7o80q30ZWX8KE/Yjwo+axii1v/A2Qz9gqXWz4HRFwaJnHLE46nNLSJNNkNUhMkYy+azMCdKnZteUEtBzvHcWAVsyqAHtRSzKjGimXfs8WXs7d14g0GabTm73qj7tvOa4Facnetc9aUZjyLLKBsyOAnJKXwAN1xZja91qGbK2Tirfy2qu4kSDtJKcEPaSEnJTBqBlwdXS9D9JTOQNscNZEfpJpFNLdDmJ6ltbS/BwBNv1GscFjdQ2Dx7I76NwX4MO9qOdiqmxmmgK6p7ikO/Jxuq9Yq9AUI2f//////////ARAAGgwwNjU2MzE4NjczMDEiDHmDLk175KOE3qkTMCrIBTLbj5wXIk725/uIAfGFs0IBvnPMNHKRf6j0iuq1sD2gKy4ScFQQM0TgYskoKvNfuuy200BehQxwxpzkaD/C2mBxpGGbhnAT2s4lAeJzx6UtXmzfihpjI2elbjc7wlRLbQgHq9dY3EACVZ9Ab7WvIjD3vht6eOz3WAEO/J1ocKdBiRjdR+6rp9ALJPr94lHC6ERvmMs1jBHh3dgwTNxizz6ChoklkELvL9tb6m5UZPuhao2k9k/3NRiB03HzvlqBm71ODAQQfTiyOGbM/5BycCfSk2z18GpnO/uSJYzWbzO5KQaGW7KqPe+cWZNtX9cXcp1LXtJSK4I0EnwAuqgBlTQ0Ul4cVRDI2lxHkWgKUKpNgIBh4JjzdTJRnE1e0g5d/YmK+OuDmZ5AqwvD5l1f073YuoYgZ9XWYrWU3CTW3UnZitlGeLA7bFCuTf6xklprHqbxMxYdNmqPwI0R/GqbaQNG4rkiBWasCDhTXw0+/RHwBJwT+6lul6V0BSOR5hxKogO+oAxbJIQrC06YJdwxipSQo34yfan13hlEjOQ5pDxvF01ZR/+JCo2yGfA7DDjt3Q42EgvNEVrFhGMjdJvXa1UPKcbRj2B5JpJVO0aplJWcKNHPOkS0knHi7DtFnHNVUY1FKSLFzeIB7b5CYdHVl9vIG1XTp6iFQqT0M9fFnMzpB/tFv9VGTwF750Cx31SEBeMCXpOEYbZACScnjUj3j3l/JOf7Q0GTMiBUYudoXM5HBlsV9yaU8Qbe4V3Lg53g6HPsCbM7DqcDuPT7V4iphoOmK4G3/lFVkScTrOaO55cJ7jr3LYoIECEDbqWfheCCOyp1gKT6DkiBm6+JQvougWxqsUQzljBLMHzmgoWIl5+h5uvC1q1c3tnF/j/cIVzMqGobPfY25BftoZq6azFvaL/jXIGIDaUT9os0WR0mWybmCCd9Gwo25zsw0p+HxQU="},"IdentityId":"eu-west-1:a9ef3c7f-8be8-411c-9249-48df6f04f4ac"} 
    2017-02-13 16:25:06.220 dates[25642:544675] -[AWSTask exception]: unrecognized selector sent to instance 0x6180002656c0 
    2017-02-13 16:25:06.222 dates[25642:544675] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AWSTask exception]: unrecognized selector sent to instance 0x6180002656c0' 
    *** First throw call stack: 
    (
        0 CoreFoundation      0x000000010ff21d4b __exceptionPreprocess + 171 
        1 libobjc.A.dylib      0x000000010f98321e objc_exception_throw + 48 
        2 CoreFoundation      0x000000010ff91f04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 
        3 CoreFoundation      0x000000010fea7005 ___forwarding___ + 1013 
        4 CoreFoundation      0x000000010fea6b88 _CF_forwarding_prep_0 + 120 
        5 dates        0x000000010c43d917 __35-[AWSIdentityManager completeLogin]_block_invoke_2 + 263 
        6 libdispatch.dylib     0x0000000112559978 _dispatch_call_block_and_release + 12 
        7 libdispatch.dylib     0x00000001125830cd _dispatch_client_callout + 8 
        8 libdispatch.dylib     0x00000001125638a4 _dispatch_main_queue_callback_4CF + 406 
        9 CoreFoundation      0x000000010fee5e49 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 
        10 CoreFoundation      0x000000010feab37d __CFRunLoopRun + 2205 
        11 CoreFoundation      0x000000010feaa884 CFRunLoopRunSpecific + 420 
        12 GraphicsServices     0x00000001136aea6f GSEventRunModal + 161 
        13 UIKit        0x0000000110345c68 UIApplicationMain + 159 
        14 dates        0x000000010c29b89f main + 111 
        15 libdyld.dylib      0x00000001125cf68d start + 1 
        16 ???         0x0000000000000001 0x0 + 1 
    ) 
    libc++abi.dylib: terminating with uncaught exception of type NSException 
    

    は、より多くの私はそれを見て、AWSTaskの問題のようです。

    私は次に頭になるかもしれないアイデア?

  • +0

    私はこれと同じ問題を抱えています。どこにいても情報を投稿します! –

    +0

    ありがとう!私はそれがスウィフト3と関係していると思う。 –

    +0

    私は 'CognitoYourUserPoolsSample'を使っているサンプルはswift 3を使っていて、私のために働いているので、swift 3が問題ではないか分かりません。私は相違点を調べることができるかどうかを今すぐ比較しています –

    答えて

    0

    AWSによるSwift 3 Supportのアップデートにより問題は解決されました。

    +0

    問題が解決していない – Alex

    +0

    @Alexはいそれは:)私はquesitionと(私は2.5.3と思う)のアップデートを書いてそれを解決しました。 –

    0

    アクセス権を持たないAWSCognitoIdentityUserPoolConfigurationでこの問題を解決するには、認証されていないアクセスを有効にすることを検討しています。

    これを実行すると、App Delegateが実行され、権限のないアクセスが取得されます。次に、ユーザー登録では、Login ViewControllerのSign In APIを使用して、認証されたアクセスのAWS資格情報を取得します。

    これにより、ユーザーが最初にログオンするのを待っている間に、(希望するなら)私たちはDynamoDB、Lambdaにアクセスできます。認証されたユーザーと認証されていないユーザーの両方に適切なポリシーを設定することによって、アプリケーションにアクセスする必要のあるものを制御できます。

    この文書はシンプルですが、私がこれまでに見つけた最良のスウィフトの例です。次のステップに

    http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html

    関連する問題