OAuth API请求令牌无效签名

时间:2010-10-15 04:41:28

标签: c#

尝试通过获取请求来访问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基本字符串基本字符串生成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

谢谢, 苏尼

1 个答案:

答案 0 :(得分:0)

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

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

多数民众赞成!这2行将自动将用户重定向到谷歌登录屏幕,并在身份验证后重定向。其他受支持的提供商是facebook,Yahoo和MSN。

此外,您还可以使用以下简单方法检索个人资料和朋友列表:

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

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