c# - MVC5 + Microsoft 帐户 (Live ID) + IIS = redirect_uri 无效

标签 c# model-view-controller oauth microsoft-account

我正在为想要使用 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”,但这未被确认为有效解决方案

更多信息请点击此处:http://www.benday.com/2014/02/25/walkthrough-asp-net-mvc-identity-with-microsoft-account-authentication/

关于c# - MVC5 + Microsoft 帐户 (Live ID) + IIS = redirect_uri 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680481/

相关文章:

c# - 异步多播委托(delegate)

c# - .Net 4 : Easy way to dynamically create List<Tuple<. ..>> 结果

python - Google App Engine 中的验证逻辑

javascript - Ember.js - 如何将模型类的属性绑定(bind)到 Controller ?

java - 如何在 Android/Java 中保存数据对象?

python - 在 Django 中创建自定义用户模型的指南

security - 身份验证中的随机数使用

oauth - 在 Swift 代码中实现 Google 登录

c# - Mvvmcross TableView 绑定(bind)触发器两次

javascript - 给定轴上的所有系列必须具有相同的数据类型 - 在图表上显示数据时间时出现错误消息