我已经使用 Azure B2C 几天了,有一些问题和疑问:
它创建的用于重定向登录的 URL 格式不正确。它包含两次问号 - 在网址之后,在配置文件名称之后再次。这会在您每次登录、注销等时导致 404 未找到错误。例如,它尝试重定向到的登录 URL 如下所示:https://login.microsoftonline.com/samlmanbc.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1_firstdemoprofile?client_id=08fcblahblah https://login.microsoftonline.com/samlmanbc.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1_firstdemoprofile?client_id=08fcblahblah。您会注意到个人资料名称后面有第二个问号,这就是破坏它的原因。
如果我解决这个问题并尝试登录,它无法识别我的全局管理员帐户的用户名/密码。它确实可以识别我在目录中本地创建的新用户的用户名/密码。
在OnRedirectToIdentityProvider方法中,当请求类型为authentication时,AuthenticationResponseChallenge为null,这使得本次调用失败:
OpenIdConnectConfiguration config =等待 mgr.GetConfigurationByPolicyAsync(CancellationToken.None, notification.OwinContext.Authentication.AuthenticationResponseChallenge.Properties.Dictionary[Startup.PolicyKey]);
我通过使用第二个参数的静态字符串 SignInPolicyId 解决了这个问题。当帐户已存在时,这可以正常工作,但如果不存在,则 Azure 会在登录时失败,并表示该用户的帐户不存在。那么在那里使用的正确值是什么,和/或如何初始化它以使其不为空?
添加到配置文件的声明类型前面带有“extension_”;是一直如此还是只是暂时如此?例如,我添加了一个名为“favoriteTeam”的属性,但它的声明类型是“extension_favoriteTeam”。
当您使用 Facebook 作为身份提供者时,是否有任何方法可以传递 Facebook 访问令牌声明(http://www.facebook.com/claims/AccessToken http://www.facebook.com/claims/AccessToken)?这在将 ACS 与 Facebook 结合使用时非常有用,因为您的应用程序随后可以使用该令牌对 Facebook 进行其他调用以从中获取数据。
关于问题 1 - 我将参考 Microsoft.IdentityModel.Protocol.Extensions 更新为 v1.0.2.206221351 并且它开始工作。在此之前我对其他参考文献进行了一些更新,因此如果第一个参考文献不起作用,请尝试从 nuget 更新更多程序集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)