我正在尝试将Microsoft帐户登录集成到我的ASP.NET Core应用程序中。我已在Microsoft应用程序注册门户中使用给定的重定向URI设置了Microsoft应用程序。
以下是Startup.cs文件的片段。
P16653,233060
P16659,345940
P16633,21069
当我运行应用程序并通过Microsoft登录时,我会被重定向到Microsoft登录页面。
它具有以下查询参数(删除了id)
// Add external authentication middleware below. To configure them please see http://go.microsoft.com/fwlink/?LinkID=532715
app.UseMicrosoftAccountAuthentication(new MicrosoftAccountOptions()
{
// I can't post my secrets here
ClientId = "my_client_id",
ClientSecret = "my_client_secret"
});
当我使用我的微软个人帐户登录时,我被重定向到错误页面。
网址为client_id:my_client_id
scope:https://graph.microsoft.com/user.read
response_type:code
redirect_uri:https://localhost:44328/signin-microsoft
state:the_state
我确认微软应用中的重定向网址与传递给Microsoft登录页面的重定向网址完全相同,所以我不知道是什么问题。
另一个奇怪的事情是,如果我使用工作或学校帐户登录,我可以正常进行并将其重定向到回调页面。
有人可以帮我这个吗?谢谢。
答案 0 :(得分:2)
仔细检查您是否在项目中使用了最新版本的身份验证中间件(由于MS OAuth的更改,几周之前几乎没有变化 - 现在正在使用v2)。
仔细检查您是否在新的v2端点下创建了应用 - 请在此处阅读更多内容:How to register an app with the v2.0 endpoint。
仔细检查您是否在Microsoft网站上为您的应用创建了密码。
检查' Advenced'中的Live SDK support
选项部分 - 这应该启用(至少在我的情况下,但看起来这对你的帮助不大)。
在这里您可以找到更多信息:
的更新强>
好的,我现在看到 - 你有两件事:
http://localhost:54554/signin-microsoft
- 在app中注册
https://localhost:44328/signin-microsoft
- 形成您的错误消息
答案 1 :(得分:1)
我有同样的问题。 我使用Microsoft Oauth 2.0来解决这个问题。您可以在https://azure.microsoft.com/en-us/documentation/articles/active-directory-appmodel-v2-overview/
找到MVC .net示例