如何拥有刷新令牌?

Posted

技术标签:

【中文标题】如何拥有刷新令牌?【英文标题】:How to have the refresh token? 【发布时间】:2019-03-04 13:28:43 【问题描述】:

我需要使用 Google Play android API,我按照很多说明与 API 连接但我阻止了一个。(Authorization documentation) 就在第 4 步,他们说:

使用此代码发送帖子:

grant_type=authorization_code

code=<the code from the previous step>
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
redirect_uri=<the URI registered with the client ID>`

我指定我使用无服务器和节点,我该如何在https://accounts.google.com/o/oauth2/token 中拥有我的刷新令牌?

非常感谢我的英语^^。


抱歉这个疏忽,我的 serverless 就是这样

#serverless.yml
service: scrapper-app


provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-3

functions:
  app:
    handler: index.handler
    events:
      - http: ANY /
      - http: 'ANY proxy+'

我的 js 也是这样:


//index.js

const serverless = require('serverless-http');
const express = require('express')
const app = express()

//API

const  google  = require('googleapis');
const oauth2Client = new google.auth.OAuth2(
    IDCLient,
    Secret,
    'https://accounts.google.com/o/oauth2/auth',
);

const scopes = 'https://www.googleapis.com/auth/androidpublisher';

const url = oauth2Client.generateAuthUrl(
    access_type: 'offline',
    scope: scopes
)


// GET
app.get('/', function (req, res) 
    res.send('Scrapper Rs!');
)



module.exports.handler = serverless(app);

我真的不知道如何使用节点和无服务器进行 http-post,我成功使用数据库(使用 curl)但不发布到 url。

【问题讨论】:

你好乔丹,欢迎来到 ***。您能否提供更完整的代码概述,以便我们更好地确定您可能遗漏了什么? 【参考方案1】:

我没有使用 Google 身份验证。但我认为你需要使用 access_type = offline

access_type 推荐。指示您的应用程序是否可以 当用户不在浏览器时刷新访问令牌。 有效参数值在线,这是默认值,并且 离线。

如果您的应用程序需要刷新访问权限,请将值设置为离线 当用户不在浏览器时的令牌。这是方法 本文档稍后描述的刷新访问令牌。这 value 指示 Google 授权服务器返回刷新 令牌和访问令牌第一次你的应用程序 交换令牌的授权码。

要在 php 中设置此值,请调用 setAccessType 函数:

$client->setAccessType('offline');

来源:https://developers.google.com/identity/protocols/OAuth2WebServer

【讨论】:

对不起,我忘了分享我的代码,访问类型在,谢谢,我仍然是我的错误。 :)

以上是关于如何拥有刷新令牌?的主要内容,如果未能解决你的问题,请参考以下文章

使用刷新令牌和访问令牌如何比仅使用 1 个 JWT 更“安全”?

刷新令牌时,AuthGuard 服务 canActivate 无法导航

访问令牌和刷新令牌最佳实践?如何实现访问和刷新令牌

如何使用刷新令牌刷新访问令牌?

Cognito 用户池:如何使用刷新令牌刷新访问令牌

如何从刷新令牌中获取访问令牌?刷新令牌会过期吗?