使用OAuth.io JS SDK从客户端获取刷新令牌(客户端)

Val*_*rai 10 javascript google-oauth oauth.io

我正在尝试使用OAuth.io为Google提供商获取访问令牌和刷新令牌.我已在OAuth.io中为access_type选择离线.

以下是代码

   OAuth.popup("google", {'authorize' : { "approval_prompt" : 'force'}})
    .done(function(result) {
        console.log(result);
    })
    .fail(function (err) {
        //handle error with err
        console.log(err);
    });
Run Code Online (Sandbox Code Playgroud)

我没有在响应中收到refresh_token.我只从响应中获得access_token.

访问令牌的JSON响应是:

    {
        "status": "success",
        "data": {
            "access_token": "ya29.pAGQWe3yxxxxxx",
            "token_type": "Bearer",
            "expires_in": 3600,
            "request": {
                "url": "https://www.googleapis.com",
                "headers": {
                    "Authorization": "Bearer {{token}}"
                }
            },
            "id_token": "eyJhbGciOiJSUzIxxxxxxxx"
        },
        "state": "Q9nfocQXJxxxx",
        "provider": "google"
    }
Run Code Online (Sandbox Code Playgroud)

参考

我找到了这个SO链接来自Google的OAuth.io获取刷新令牌 这里他们已经解释了如何在服务器端获取刷新令牌.

我想在客户端JS获取刷新令牌.

Val*_*rai 2

转到 OAuth.io 应用程序常规设置页面,选择显示高级选项,然后选择将刷新令牌发送到前端

在集成 API 中,选择access_type离线。这将使用以下代码将刷新令牌发送到前端

var oauthOptions = { 'authorize' : { "approval_prompt" : "force" } };
    OAuth.popup("google", oauthOptions)
                .done(function(result) {
                    console.log("Post postProcessing");
                    console.log(result);
                })
                .fail(function (err) {
                    console.log(err);
                });
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述