2017-10-31 26 views
0

サインアップするAzure B2Cカスタムポリシーがあります。私が取得しようと、以前のURLから取得したコードでAzure B2Cカスタムポリシー:無効なリクエスト、クライアントシークレットエラー

https://login.microsoftonline.com/<MyTenant>.onmicrosoft.com/oauth2/authorize? 
p=B2C_1A_signup_signin 
&client_id=<MyB2CAppID> 
&nonce=defaultNonce 
&redirect_uri=http%3A%2F%2Flocalhost%3A4200 
&scope=openid+offline_access 
&response_type=code 
&prompt=login 

:私はこのURLを使用してログインしてい

{"error":"invalid_request","error_description":"AADB2C90079: Clients must send a client_secret when redeeming a confidential grant.\r\nCorrelation ID: 776e4226-467b-4648-b7f7-a9c09715fd68\r\nTimestamp: 2017-10-31 21:12:56Z\r\n"} 

:私はリフレッシュトークンを取得しようとすると、私はこのエラーを受け取りますこのURLのアクセストークン:

https://login.<MyTenant>.com/exob2ctest.onmicrosoft.com/oauth2/v2.0/token? 
p=B2C_1A_signup_signin 
&grant_type=authorization_code 
&client_id=<MyB2CAppID> 
&redirect_uri=urn:ietf:wg:oauth:2.0:oo 
&code=<MyCode> 
&scope=openid%20offline_access 
&client_secret=<MyB2CAppSecret> 

その後、エラーが発生します。 私は、client_idで参照されているB2Cアプリケーションで生成された鍵をclient_secretパラメータで使用しています。 ビルドインポリシーでこれを試してみましたが、問題なくリフレッシュトークンを取得できます。私のカスタムポリシーに欠けているものがありますか?

ありがとうございます!

+0

組み込みポリシーをダウンロードしてレビューしようとしましたか?時にはそれはあなたにいくつかのヒントを与えます。 – spottedmahn

+1

p = B2C_1A_signup_signinを除くすべてを含むPOST要求として/トークンにリクエストをx-www-form-urlencodedボディとして送信していることを確認できますか? – Saca

+0

また、リクエストに違いがないことを確認するために、両方のリクエストをフィドラー(組み込みポリシーとカスタムポリシーを含む)で取り込み、比較して違いがあるかどうかを確認することができます。 –

答えて

2

/tokenエンドポイントへのリクエストは、policyパラメータをクエリ文字列パラメータとして、残りをx-www-form-urlencodedボディにPOSTリクエストとして送信する必要があります。

関連する問題