【问题标题】:OAuth API Request Token Invalid SignatureOAuth API 请求令牌无效签名
【发布时间】:2011-04-25 18:27:06
【问题描述】:

尝试通过执行获取请求来访问 Google Oauth Rquest 令牌 API 时出现无效的签名错误请求 401

https://www.google.com/accounts/OAuthGetRequestToken?oauth_callback=http://googlecodesamples.com/oauth_playground/findex.php&oauth_consumer_key=www.laredoute.fr&oauth_nonce=264800&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1287117306&oauth_version=1.0&scope=https://www.google.com/m8/feeds&oauth_signature=wVOLVMEYRq1E+A3OmcroKkWjsPg=

用下面的Signature base string base string生成Oauth签名。

GET&oauth_consumer_key%3Dkey%26oauth_nonce%3D8919381%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1287117115%26oauth_version%3D1&oauth_consumer_key%3Dkey%26oauth_nonce%3D8919381%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1287117115%26oauth_version%3D1 P>

谢谢, 苏尼尔

【问题讨论】:

    标签: c#


    【解决方案1】:

    这都是由于编码问题。您可以参考 http://code.google.com/p/socialauth-net/ 库,它包含了所有握手和令牌的复杂性,并提供了使用以下代码登录的能力:

    SocialAuthUser.CreateUser("Google");
    SocialAuthuser.GetCurrentuser.Login();
    

    就是这样!这两行将自动将用户重定向到谷歌登录屏幕并在身份验证后重定向回来。其他支持的提供商是 facebook、Yahoo 和 MSN。

    此外,您还可以通过以下简单方法检索个人资料和好友列表:

    SocialAuthuser.GetCurrentUser().GetContacts()
    SocialAuthuser.GetCurrentUser().GetProfile()
    

    它是一个开放源代码,很快就会提供源代码,如果您不想使用此组件,您可以阅读它来解决您的问题。

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 2015-11-01
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2018-09-24
      • 2014-10-08
      相关资源
      最近更新 更多