2

我已经通过 Windows 开发者控制台创建了一个应用程序,并且我正在尝试使用 Open ID Connect/Oauth 2.0 来允许用户使用 Windows Live Login 登录到该应用程序。它在我使用 Azure AD 时有效,但我必须将每个 Windows Live 帐户添加到我的 Azure AD 租户中,而我正在寻找的是允许任何拥有 Windows Live 帐户的用户登录到我的应用程序。

当我使用 Windows live 时,我使用 Windows 应用开发者控制台提供给我的 client_id 设置我的 OID RP。问题是它一直有效,直到我从 Windows live 获得 id_token。问题是我在 ID 令牌中返回的 client_id 的客户端 ID 前缀为零。例如,如果我在开发人员控制台中的客户端 ID 是 000001234,那么我从 Windows Live 的 id_token 中获取的客户端 ID 是 0000000-00000000-0000-000001234。此时 OIDC 失败(应该如此),因为 id_token 中返回的 client_id 与请求令牌的 client_id 不同。

它离那里很近,我只需要修复最后一个错误,我会做得很好。作为附加说明。通过 Azure 应用程序交付的客户端 ID 填充了零,即客户端 ID 似乎与 Windows Live 返回的带有前缀数字的 client_id 值的格式相匹配。

4

1 回答 1

0

所以我终于找到了解决方案。感谢mod_auth_openidc的作者 Hans Zandbelt向我发送此链接http://blogs.technet.com/b/ad/archive/2015/08/12/azure-ad-microsoft-account-preview-sign-in-personal -and-work-accounts-using-a-single-stack.aspx。这花了一些时间,但我得到了它的工作。请记住,我在他们的预览版上运行它,所以它可能会改变,但我在我的博客上发布了如何解决这个问题的详细信息

于 2015-10-08T22:41:13.727 回答