在我的ASP.NET mvc 4应用程序中,我尝试实现 Account / ExternalLogin 我配置了,
实 使用ClientID和ClientSecret并启用GoogleOpenAuth 遗憾的是没有任何工作。
网址调用:provider = microsoft& sid = 95b923de889e4a4db6861c98fafb42a3& code = f85770b1-266b-3abd-4c46-8d62fe3014dc“> http://mydomain.com/account/externallogincallback?提供商 =微软&安培;的 SID = 95b923de889e4a4db6861c98fafb42a3&安培;代码= f85770b1-266b-3ABD-4c46-8d62fe3014dc
AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action(“ExternalLoginCallback”,new {ReturnUrl = returnUrl}));
所有OpenAuth调用都失败,Google将返回身份验证错误, Facebook和微软(Windows Live)提供了400个不良请求响应。
任何人都可以建议如何解决这个问题吗?
更多细节: 这些是我使用的DLL
的Web.config
<compilation debug="true" targetFramework="4.5" >
<assemblies>
<add assembly="WebMatrix.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
</compilation>
发现问题: 好吧,我想通了,我有一个在应用程序启动时触发的自定义功能,它将强制执行小写的完整URL,当OAuth令牌被调回Facebook时,令牌值也更低,这就是创建问题。很高兴我能找到它:)。
答案 0 :(得分:1)
在不看真实代码的情况下不确定原因是什么,但请仔细检查传递给RequestAuthentication()的返回URL与传递给VerifyAuthentication()的返回URL完全相同