我正在为想要使用LiveId(现在是Microsoft帐户或MSA)的用户登录一个简单的POC。我已经使用FaceBook,Google和Twitter完成了这项工作。公园。无论出于何种原因,MSA都是皇家PITA。
我使用Visual Studio 2015创建了一个MVC5应用程序。我去了MSA开发人员中心创建我的应用程序并获取客户端ID和密码。我正在使用的重定向网址是http://localtest.me/membersweb/signin-microsoft 客户端ID和秘密就像往常一样进入Start.Auth.cs。
我已经设置了IIS并将我的应用程序放在虚拟目录中。当我运行我的应用程序时,它会像往常一样出现。我单击“登录”,它按预期进入登录页面,Microsoft按钮按预期显示在右侧列中。单击Microsoft按钮时,您将被重定向到MSA登录页面。 B / c我已经登录了我应该被带到授权页面,在那里我授权我的应用程序访问我的信息。相反,我被带到一个错误页面。标题显示“我们无法完成您的请求”,其余信息显示“Microsoft帐户遇到技术问题。请稍后再试。”。相当无用。 该url对以下错误消息更有帮助: INVALID_REQUEST&安培; ERROR_DESCRIPTION =的+提供+值+为+ +输入+参数+ 'REDIRECT_URI' 是+未+有效+的+预期+值+是+ 'https://login.live.com/oauth20_desktop.srf' +或+ A + URL +其中+比赛的+ + +重定向URI +注册+为+ +这个客户+应用程序。
这不是火箭科学。我一直用FaceBook做这件事。我做错了什么?
未执行任何其他编码,配置或自定义。
TIA
答案 0 :(得分:4)
这对我有用:)
PS:如果仍然无法正常工作,请尝试在redirect_uri的末尾添加“ / Account / ExternalLoginCallback ”,但这不会被确认为有效的解决方案
答案 1 :(得分: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