Azure B2C不适用于本机客户端应用程序

时间:2019-04-08 19:15:26

标签: azure-ad-b2c

我从GitHub提取了此示例:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-tutorials-desktop-app

它与连接到其身份验证服务的原始应用程序设置兼容,但是当我将其更改为Azure B2C应用程序时,出现401错误。我已经尝试了所有可能的组合,并多次重复了说明,但是仍然可以找到401。

因此,我尝试使用PostMan和在此处找到的说明进行连接:

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/azure-ad-b2c-webapi?view=aspnetcore-2.2

而且,有趣的是,它很好用。因此,我分解了请求以找出有什么不同。显然,示例应用程序尝试在以下位置连接到授权机构:

https://login.microsoftonline.com/tfp/tenant/policy/oauth2/v2.0/authorize

但是邮递员示例尝试在以下位置连接到授权机构:

https://tenant.b2clogin.com/tenant/oauth2/v2.0/authorize?p=B2C_1_Sign_In

所以我更进一步,将安全令牌从Postman中复制出来,并将其塞入我的客户端应用程序中。奏效了!

因此,我自然而然地认为下一步就是要获得在PostMan中使用的权限并将其放置在Desktop应用程序中。失败了当我检查PublicClientApplication时,权限已被截断为:

https://gammafourdevelopment.b2clogin.com/gammafourdevelopment.onmicrosoft.com/

由于没有一个示例是最新的(邮递员示例除外),请有人告诉我该API应该如何工作?

1 个答案:

答案 0 :(得分:1)

此权限可以解决问题:

https:// {domain} .b2clogin.com / tfp / {domain} .onmicrosoft.com / {policy} /v2.0/.well-known/openid-configuration” < / p>