使用dotnetopenauth获取Google Oauth2令牌

时间:2013-01-28 07:51:50

标签: asp.net oauth-2.0 dotnetopenauth

我在使用DotNetOpenAuth 4.2.0.13024为谷歌搜索OAuth2令牌时遇到问题。

我已经到了可以成功向Google端点https://accounts.google.com/o/oauth2/auth发送授权请求的位置

当用户点击“确定”时,Google会按预期使用相应的“代码”查询字符串调用我的回调网址。

但是,我无法将此代码替换为令牌,因为我的调用始终失败,“协议异常未处理”execption和“400 Bad request”作为内部异常。这是我用来交换令牌的代码

private static AuthorizationServerDescription authServerDescription = new AuthorizationServerDescription
{
    TokenEndpoint = new Uri("https://accounts.google.com/o/oauth2/token"),
    AuthorizationEndpoint = new Uri("https://accounts.google.com/o/oauth2/auth")
};

static GoogleContacts()
{
    Client = new WebServerClient(authServerDescription, "{my_cliend_id}", "{me_secret_key}");
}

var authorization = Client.ProcessUserAuthorization(); // <- Exception is thrown here
if (authorization != null)
{
   Authorization = authorization;
   Response.Redirect(Request.Path); // get rid of the /?code= parameter
}
PS:似乎已经发布了DotNerOpenAuth的新版本,但是我无法得到它,因为zip下载仍然指向旧版本,而Nuget一直对我失败:(

0 个答案:

没有答案