我已经通过Windows开发人员控制台创建了一个应用程序,我正在尝试使用Open ID Connect / Oauth 2.0来允许用户使用Windows Live登录登录该应用程序。它在我使用Azure AD时有效,但我必须将每个Windows Live帐户添加到我的Azure AD租户,而我正在寻找的是允许任何拥有Windows Live帐户的用户登录我的应用程序。
当我使用Windows Live时,我使用Windows App开发者控制台提供给我的client_id设置我的OID RP。问题是它一直有效,直到我从Windows live获得id_token。问题是我在ID令牌中返回的client_id的前缀是我的客户端ID。因此,例如,如果开发人员控制台中的客户端ID为000001234,则从Windows Live返回id_token的client_id为0000000-00000000-0000-000001234。此时OIDC失败(应该如此),因为id_token中返回的client_id与请求令牌的client_id不同。
它离那里很近,我只需要修复最后一个错误,我会很高兴。作为补充说明。通过Azure应用程序提供的客户端ID已填充零,即客户端ID似乎与Windows Live在client_id值中返回的带有前缀数字的格式匹配。
答案 0 :(得分: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。它花了一些时间,但我得到了它的工作。请记住,我让它与预览版本有关,因此它可能会发生变化,但我发布了details of how to solve this on my blog