谷歌'的用户令牌和授权代码

Google's user token and authorization code in an ASP.NET webapplication

本文关键字:令牌 授权 代码 用户 谷歌      更新时间:2024-03-25

你好,我正在尝试制作一个web应用程序,即使用户没有连接到网站,也可以读取他们的电子邮件。我遵循了谷歌网站登录中的步骤,制作了一个javascript登录页面,最终给了我一个授权码。在第7步中,他们告诉你通过xmlhttprequest将授权码发送到服务器,以换取访问令牌。我的问题是我不知道如何将代码发送到服务器端,即使我知道了,我也不知道如何使用它来刷新令牌或在asp中获取用户数据,我搜索了如何使用DotNetOpenAuth,但我找不到帮助我解决问题的教程。

嗨,你可以做这样的事情:

IAuthorizationCodeFlow flow = 
new GoogleAuthorizationCodeFlow(newGoogleAuthorizationCodeFlow.Initializer
        ClientSecrets = new ClientSecrets
{
    ClientId = "yourClientId",
    ClientSecret = "yourClientSecret"
});
TokenResponse response = flow.ExchangeCodeForTokenAsync("", "authorization_code_you_generated_in_client", "postmessage", CancellationToken.None).Result;

这将为您提供访问令牌。只有在javascript请求中指定了"access_type" : "offline"时,才会获得刷新令牌。您可能还想使用"approval_prompt" : "force"再次获取refresh_token。