繁体   English   中英

Azure AD B2C:无法获取具有授权码的令牌

[英]Azure AD B2C: Unable to get token with authorization code

我目前正在按照指南设置Azure功能的授权。 我目前正在尝试与我的Web应用分开测试fiddler中的auth部分,以确保可以获得有效的令牌。 我能够成功检索授权码,但是之后,我需要发布一些数据以将授权码交换为令牌。 尝试执行此操作时,系统返回502并显示消息: DNS Lookup for "mytenantname.onmicrosoft.com" failed. System.Net.Sockets.SocketException No such host is known DNS Lookup for "mytenantname.onmicrosoft.com" failed. System.Net.Sockets.SocketException No such host is known好像该主机根本不存在一样。 我向端点发布的内容如下所示,其中B2C_1_FunctionsPlaygroundSignInRegister是我的用户流的名称:

POST https://mytenantname.onmicrosoft.com/oauth2/v2.0/token?p=B2C_1_FunctionsPlaygroundSignInRegister HTTP/1.1

User-Agent: Fiddler

Content-Type: application/x-www-form-urlencoded

Host: mytenantname.onmicrosoft.com

Body:grant_type=authorization_code&client_id=MyApplicationIdForTheAzure-AD-B2C-ap-here&code=myCodeHere&redirect_uri=jwt.ms

作为参考,这是我发送的工作get请求,可以在浏览器中键入该请求,并在登录/注册屏幕时得到提示,并在登录后返回授权码:

https://mytenantname.b2clogin.com/tfp/mytenantname.onmicrosoft.com/B2C_1_FunctionsPlaygroundSignInRegister/oauth2/v2.0/authorize?client_id=yApplicationIdForTheAzure-AD-B2C-ap-here&nonce=2&redirect_uri=https://functionapi.azurewebsites.net/.auth/login/aad/callback&scope=https://mytenantname.onmicrosoft.com/api/read&response_type=code 

有人可以指出我在哪里出问题了吗? 我现在在这个问题上花了很多时间,没有想法。

您的POST网址和Host标头错误。

请参阅本节-

Azure Active Directory B2C中的OAuth 2.0授权代码流

POST fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_sign_in HTTP/1.1
Host: https://fabrikamb2c.b2clogin.com

注意主机头。 这意味着您的Fiddler请求应显示如下内容:

POST https://mytenantname.b2clogin.com/mytenantname.onmicrosoft.com/oauth2/v2.0/token?p=...
Host: mytenantname.b2clogin.com

PS:这比Fiddler的要好得多-https: //oauthdebugger.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM