我正在为想要使用 LiveId(现在是 Microsoft 帐户或 MSA)供用户登录的客户整合一个简单的 POC。我已经通过 FaceBook、Google 和 Twitter 做到了这一点,他们都参与进来了公园。无论出于何种原因,MSA 都是皇家 PITA。
我使用 Visual Studio 2015 创建了一个 MVC5 应用程序。我去 MSA 开发人员中心创建我的应用程序并获取客户端 ID 和密码。我使用的重定向 URL 是 http://localtest.me/membersweb/signin-microsoft 客户端 ID 和密码像往常一样进入 Start.Auth.cs。
我已经设置了 IIS 并将我的应用程序放在虚拟目录中。当我运行我的应用程序时,它像往常一样出现。我单击“登录”,它按预期进入登录页面,Microsoft 按钮按预期出现在右侧栏中。当您单击 Microsoft 按钮时,您将被重定向到 MSA 登录页面。 B/c 我已经登录 我应该被带到授权页面,在那里我允许我的应用程序访问我的信息。相反,我被带到一个错误页面。标题显示“我们无法完成您的请求”,消息的其余部分显示“Microsoft 帐户遇到技术问题。请稍后再试。”。很没用。 该 url 对以下错误消息更有帮助: invalid_request&error_description=The+provided+value+for+the+input+parameter+'redirect_uri'+is+not+valid.+The+expected+value+is+' https://login.live.com/oauth20_desktop.srf '+or+a+URL+which+matches+the+redirect+URI+registered+for+this+client+application。
这不是火箭科学。我一直都在 FaceBook 上这样做。我到底做错了什么?
没有执行其他编码、配置或定制。
TIA
最佳答案
- 转到 https://account.live.com/developers/applications
- 选择您的应用
- 转到编辑设置
- 转到 API 设置
- 编辑重定向 URL:将“/signin-microsoft”添加到 redirect_uri 的末尾
- 转到您的代码并为 API 调用设置相同的 redirect_uri
- 去喝一两杯啤酒
这对我有用:)
PS:如果仍然无效,请尝试在 redirect_uri 末尾添加“/Account/ExternalLoginCallback”,但这未被确认为有效解决方案
关于c# - MVC5 + Microsoft 帐户 (Live ID) + IIS = redirect_uri 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680481/