Asp.net mvc 4 使用ASP.Net MVC 4身份验证验证验证代码问题时出错

Asp.net mvc 4 使用ASP.Net MVC 4身份验证验证验证代码问题时出错,asp.net-mvc-4,facebook-graph-api,oauth,facebook-c#-sdk,Asp.net Mvc 4,Facebook Graph Api,Oauth,Facebook C# Sdk,我正在开发一个Asp.NETMVC4应用程序,允许该应用程序代表用户在墙上发布一些数据。我使用MVC4附带的内置oAuth支持。正如我所读到的,默认oAuth库不提供添加作用域的特性,因此为了解决这个问题,我遵循了 但我还面临一个障碍,facebook graph api抛出了这个例外: { "error": { "message": "Error validating verification code. Please make sure your redirect_uri

我正在开发一个Asp.NETMVC4应用程序,允许该应用程序代表用户在墙上发布一些数据。我使用MVC4附带的内置oAuth支持。正如我所读到的,默认oAuth库不提供添加作用域的特性,因此为了解决这个问题,我遵循了

但我还面临一个障碍,facebook graph api抛出了这个例外:

{
   "error": {
      "message": "Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request",
      "type": "OAuthException",
      "code": 100
   }
}
当我搜索这个问题时,我发现 但是,即使在末尾加“/”也不能解决问题,我也会不断遇到同样的错误。 我有以下oAuth对话框url:

https://www.facebook.com/login.php?skip_api_login=1&api_key=431734730282664&signed_next=1&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dhttp%253A%252F%252Flocalhost%253A1724%252FAccount%252FExternalLoginCallback%253F__provider__%253Dfacebook%2526__sid__%253D038708985bbe463e89cfb8914a19d810%26scope%3Dpublish_stream%26客户端id%3D4317347****82664%26ret%3Dlogin&cancel\uURI=http%3A%2F%2LocalHost%3A1724%2Account%2ExternalLogincCallback%3F\uU提供程序\uuuuuuu%3Dfacebook%26\uuuu sid\uuuu%3D0387085BBE463E89CFB8914A19D810%26错误%3Daccess被拒绝%26错误代码%3D200%26错误描述%3DPermissions%26错误原因%3dU被拒绝%23\uCode

并遵循从graph api返回的url

https://graph.facebook.com/oauth/access_token?client_id=431734730282664&redirect_uri=http://localhost:1724/Account/ExternalLoginCallback?__provider__=facebook&__10月9日的CC586月10日的10月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8月8日的8日的8月8日的8日的8日的8月8日的8日的8月8日的8月8日的8日的8月8日的8月8日的8日的8月8日的8月8日的8月8日的8日的8日的8日的8月8月8日的8日的8日的8月8日的8日的8月8日的8月8月8日的8月8日的8日的8日的8日的8月8日的5XTIJEN3MC8ONPV86T802NHDS0STFSCWOGJXQEE9KIOK5-0BnR384qrI7DGNf_oAIb88L83Z_mITvnv_dkq265lZztmkkOt0

我没有发现重定向uri之间的差异,因为文档中说两个URL中的重定向uri必须相同。
有谁能提出一个解决方案吗?

我想知道我遇到了同样的问题,但原因不同。 显示的返回路径不同,但它们必须完全相同,如下所示

第一个共同响应:

http://localhost:1724/Account/ExternalLoginCallback?__provider__=facebook&__sid__=038708985bbe463e89cfb8914a19d810

另一方面,第二个是:

http://localhost:1724/Account/ExternalLoginCallback?__provider__

这些值是使用浏览器解码的,随后在chrome网络调试器上检查

如果您在第二秒钟注意url,您可能会注意到url路径编码不正确

字符“/”、“:”、“&”、“;”第一个url中的“=”无法读取,而第二个url则清晰可读

要解决此问题,可能需要对其进行编码

也许做这件事是有用的