【发布时间】:2015-12-19 19:03:25
【问题描述】:
我已经使用 Azure B2C 工作了几天,有一些问题和疑问:
它创建的用于重定向登录的 URL 格式不正确。它包含两次问号 - 在 url 之后,在配置文件名称之后。这会在您每次登录、注销等时导致 404 未找到错误。例如,它尝试重定向到的登录 URL 如下所示:https://login.microsoftonline.com/samlmanbc.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1_firstdemoprofile?client_id=08fcblahblah。您会注意到个人资料名称后面的第二个问号,这就是它的原因。
如果我修复该问题并尝试登录,它无法识别我的全局管理员帐户的用户名/密码。它可以识别我在目录中本地创建的新用户的用户名/密码。
在OnRedirectToIdentityProvider方法中,当请求类型为认证时,AuthenticationResponseChallenge为null,导致本次调用失败: OpenIdConnectConfiguration config = await 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)?这在将 ACS 与 Facebook 一起使用时很有用,因为您的应用可以使用该令牌对 Facebook 进行额外调用以从中获取数据。
【问题讨论】: