2017-10-26 7 views
3

私は、Azure B2CをAWSと統合するプロセスです。つまり、Azure B2CをフェデレーションIDプロバイダとして設定し、モバイルアプリケーションのログインに使用します。AWSとのAzure B2Cの統合

ほとんどの場合、すべてを正しく構成していると思います。これまでに行ったことです

  1. 私はB2Cテナントを作成し、テナントとSignUpAndSignInPolicyに「アプリケーション」を設定しました。アプリケーションにはネイティブクライアントとWebクライアントの両方が有効になっており、暗黙的なフローも許可されています。
  2. 私はAzure B2CテナントをAWSのアイデンティティプロバイダとして設定し、IdPに必要なロールを作成しました。
  3. 私はAWS Cognitoアイデンティティプールを作成し、私はAzureのB2C、acquireToken続い特にMSALPublicClientApplication.init(clientId, kAuthority)方法で認証するMSALライブラリを使用しています
  4. のIdP
  5. の上を使用するように設定しています。
  6. これは、ブラウザに対話型ログインを表示し、カスタムURLを介してアプリケーションにトークンを返します。トークンは有効で、JWT toolで確認しました。
  7. 次に、手順3で作成したCognito Identity Poolと、AWSドキュメントごとにgetTokenメソッドとloginsメソッドを実装したカスタムidentityProviderManagerを使用してAWSCognitoCredentialsProviderをセットアップします。
  8. 私はその後、「AWSTaskを返す([」providerNameで:「id_token」]を経由してCognitoにステップ5からトークンを渡す。ログインメソッド内の文

前後に行くのトン後、私が持っています道に沿ってハードルのほとんどを介して取得するために管理し、しかし、私は今、具体的には、AWSからトークン検証エラーを取得しています:

error: Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=NotAuthorizedException, message=Invalid login token. Couldn't verify signed token.}

が本当に結果のトンを生産するが、何私からしないというエラーをグーグルでアプリでの一連のイベントは正しいものの、AWSはコミュニケート時にトークンの検証について不平を言っていますアズールと一緒に。

秘密、スコープなどのアイデンティティプロバイダを設定できるAWSにはあまりたくさんありませんので、どこを見るか分かりません。

私は熟練したOpenIDプロに期待しています。このエラーメッセージは、私にとって意味以上のものです。

私が確信していることのいくつかは関連性があります。 1. Azure B2Cには、現在実装していないアプリケーションの下で「キー」という概念があります。私の実装では、キーを指定することはできません。 2. MSALPublicClientApplication.initメソッドは、application.acquireToken(forScopes: kScopes)を呼び出すために使用するアプリケーションインスタンスを返します。私が読んだところでは、 "openid"と "offline_access"だけが必要なので、スコープの値をどのように置くべきか分かりませんが、それらを指定しようとすると、デフォルトで既に含まれているというエラーが表示されますAPIコールでそれらを指定できることを確認してください。しかし、このフィールドを空白のままにしておくことは許されません。現時点では、わかりやすいAzure B2CアプリケーションID(GUIDの形式)があります。

ありがとうございました!

+0

トークンはどのようなアルゴリズムで署名されていますか? –

答えて

0

設定が正しいように見えます。MSALライブラリについてはわかりませんが、Azure B2Cコンソールから直接テストするときは、あなたのサインインポリシー(pパラメータを使用して)をauthorize URlで記述したかどうかによって異なるトークンを取得します。このパラメータがないものは動作しますが、動作していないものは動作しません。 OIDC Discoveryの仕組みとAWS IAMコンソールでの設定方法について説明します。

関連する問題