2016-10-12 8 views
2

現在、私はユーザー認証をiOSアプリケーションに実装しようとしています。したがって、Active Directory B2Cを使用します。Azure Active Directory B2C:トークンをリフレッシュする方法

期限切れのトークンをリフレッシュする以外はすべて正常に動作します。私は、要求URL(fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_sign_in)をaccess_tokenrefresh_tokenにするよう呼びます。応答は有効であると思われ、access_tokenは期限切れでない限り非常に有効です。

新しいトークンを取得したい場合(ここで説明するように:OAuth 2.0 authorization code flow;第4章を参照)、リクエストはちょうど400:悪い要求で応答します。

私が間違っていることが分かりません。これらのリクエストをデバッグする方法や、Azureポータル内で設定する必要がある何らかのチェックリストを使用する方法はありますか?

ありがとうございます!

編集:私はあなたがscopeパラメータの値を指定する必要があると考えてい

POST /xxx.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_local-account-signupin HTTP/1.1 
HOST: login.microsoftonline.com 
content-type: application/x-www-form-urlencoded 
content-length: 1148 

client_id=xxx&refresh_token=xxx&grant_type=refresh_token&redirect_uri=urn:ietf:wg:oauth:2.0:oob 
+0

リフレッシュされたトークンを要求するために使用しているコードを共有できますか? –

+0

ご意見ありがとうございます。私は私の質問を編集しました。 – ErBeEn

+0

あなたはあなたの 'HOST'があなたがここに投稿したもののようなものだと確信していますか?参照されたドキュメントでは、それは 'HOST:https:// login.microsoftonline.com'のままであるため、それ以上のメッセージがなくても400 Server Errorが発生します。私は非常に古いもの(プレビューの早い段階で作成されたもの)を含む、さまざまなAAD B2Cテナントを試してみました。それはすべて期待どおりに動作します。あなたのHOSTパラメータが実際に 'https'なしであり、content-lengthがリクエストの長さと一致することを確認してください。 – astaykov

答えて

0

問題を解決しようとしてくれてありがとう!使用していたrefresh_tokenが無効であることが判明しました。そのため、リクエストが正しいことがわかっていて、Bad Requestというレスポンスが返ってくる場合は、もう一度パラメータを確認してください。

0

:これは私が使用してい要求です。 scopeパラメーターは、トークンを要求しているリソースをB2Cに通知するために使用されます。現在のところ、scope=<client_id>またはscope=openidを使用することをお勧めします。

+0

ありがとうございます。私はすでに 'scope'にいくつかのパラメータを設定しようとしました。残念ながら、私はまだ400のエラーを取得します。このページの人々:https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-reference-oauth-code/コメントエリアで述べたのと同様の問題があるようです。 – ErBeEn

関連する問題