3

我正在为想要使用 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

4

2 回答 2

4
  • 转到https://account.live.com/developers/applications
  • 选择您的应用程序
  • 转到编辑设置
  • 转到 API 设置
  • 编辑重定向 URL:将“ /signin-microsoft ”添加到 redirect_uri 的末尾
  • 转到您的代码并为 API 调用设置相同的 redirect_uri
  • 去喝一两杯或更多啤酒

这对我有用:)

PS:如果仍然无法正常工作,请尝试在您的 redirect_uri 末尾添加“ /Account/ExternalLoginCallback ”,但这并未确认为有效解决方案

欲了解更多信息:http ://www.benday.com/2014/02/25/walkthrough-asp-net-mvc-identity-with-microsoft-account-authentication/

于 2015-11-24T14:04:17.433 回答
0

万一有人遇到这个问题......我最近遇到了这个问题,添加“/signin-microsof”或“/Account/ExternalLoginCallback”没有帮助。

我最终做的是将以下重定向 URI 添加到所有应用程序注册(在我的例子中是 Microsoft、Google 和 Facebook)。

https://YOUR-DOMAIN.b2clogin.com/YOUR-DOMAIN.onmicrosoft.com/oauth2/authresp
https://login.microsoftonline.com/te/YOUR-DOMAIN.onmicrosoft.com/oauth2/authresp

于 2018-10-04T03:26:13.973 回答