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