Google OAuth:如何使用刷新令牌? [英] Google OAuth: how to use a refresh token?

查看:38
本文介绍了Google OAuth:如何使用刷新令牌?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以从Android设备将我的一次性使用令牌交换为访问令牌刷新令牌。我正在尝试了解如何使用刷新标记

我发现this可以处理HTTPS请求,但我想知道Java SDK中是否有一些地方可以处理刷新?

推荐答案

您不需要这样做。只需在每次HTTP会话之前调用GoogleAuthUtil.getToken(),GoogleAuthUtil将确保您获得一个有效的HTTP会话,并在必要时刷新。

编辑:哦,好的,他在服务器上做这个。以下是一些使用刷新标记的Java代码:

       String data = "refresh_token=" + mRefreshToken +
                "&client_id=" + Constants.WEB_CLIENT_ID +
                "&client_secret=" + Constants.WEB_CLIENT_SECRET +
                "&grant_type=refresh_token";
        byte[] body = data.getBytes();

        URL url = new URL(Constants.GOOGLE_TOKEN_ENDPOINT);
        conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setFixedLengthStreamingMode(body.length);
        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        conn.getOutputStream().write(body);

        body = XAuth.readStream(conn.getInputStream());
        JSONObject json = new JSONObject(new String(body));

        String accessToken = json.optString("access_token");
        if (accessToken == null) {
            throw new Exception("Refresh token yielded no access token");
        }

这篇关于Google OAuth:如何使用刷新令牌?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆