如何在 Postman 中为 GCP 存储自动生成新的 Bearer Token
How to auto generate new Bearer Token in Postman for GCP Storage
我正在尝试使用 Postman.
通过云存储 Rest API (https://storage.googleapis.com/upload/storage/v1/b)
将文件从本地上传到 GCP 存储桶
我在 GCP Shell 上使用 Bearer Token 进行授权并使用 运行 $(gcloud auth print-access-token)
命令每次生成该令牌。
我需要知道,如何在发送请求时从 Postman 自动生成该令牌?
有什么方法可以在 Postman 中每次作为预请求脚本执行 $(gcloud auth print-access-token)
吗?
谢谢
我对 postman 不是很好,但我认为你可以 运行 预请求获取令牌并在后续请求中重用它。
如果是这样,您可以从 gcloud auth print-access-token
命令中获得灵感,方法是添加 --log-http
参数以可视化 CLI 执行的请求并在 Postman 中重现它们。
编辑 1
如果执行请求,可以看到对这个URLhttps://oauth2.googleapis.com/token
执行了一个post
要重现调用,您可以尝试使用 curl
curl -X POST -d "grant_type=refresh_token&client_id=32555940559.apps.googleusercontent.com&client_secret=ZmssLNjJy2998hD4CTg2ejr2&refresh_token=<REFRESH_TOKEN>&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth" https://oauth2.googleapis.com/token
在这次通话中,您需要 REFRESH_TOKEN
,您可以在这里
cat ~/.config/gcloud/legacy_credentials/<YOUR EMAIL>/adc.json
Google Cloud Storage 与其他 Google API 一样需要身份验证,其中一种身份验证方式是提供 bearer token .这些不记名令牌寿命短,需要重新生成。
因此有 3 种方法可以生成不记名令牌,因此您可以使用 Postman 与 Google 存储 API 或其他 Google API 交互:
使用 oauth2l CLI(手动重新生成新的承载令牌并使用新令牌更新授权 header)
- 此 oauth2l CLI 实用程序允许您生成不记名令牌,可以将其粘贴到邮递员中的授权 header 中。您可以使用
使用 OAuth 2 和用户凭据配置 Postman(可以通过 Postman UI 管理令牌,单击即可清除过期令牌一个按钮)
Postman 可以配置为触发 OAuth 2 流程并在所有请求中使用生成的不记名令牌。但请确保所有用户在 Google Cloud Platform 项目中具有正确的权限。
您需要在 Google Cloud Console 中创建 OAuth 2 凭据:
- 转到 APIS 和服务
- 然后转到“凭据”选项卡
- 点击创建凭据
- Select OAuth 客户端 ID
- 填写字段以创建 OAuth 客户端 ID(还添加授权重定向 URI,但这不需要解析到任何地方)。
Client ID 和 Client Secret 需要保存在您的机器中。
使用 Postman 的环境变量功能根据 environment/project 使用不同的凭据。在 Postman 中,使用右上角的齿轮图标为您的凭据创建一个新环境。
相应地配置变量:AUTH_CALLBACK_URL , AUTH_URL, AUTH_CLIENT_ID, AUTH_CLIENT_SECRET, AUTH_ACCESS_TOKEN_URL
此变量应与 OAuth 2 客户端 ID 创建菜单中定义的变量相同,并且应为 following 之一:AUTH_SCOPE
一旦定义,这些变量就可以在 Postman 的授权选项卡中使用。这可以在 collection 级别、文件夹级别甚至单个请求级别进行配置。
要重新生成令牌,您可以转到授权选项卡并单击获取新访问令牌
配置 Postman 使用 pre-request 脚本和服务凭证(pre-request 脚本 自动重新生成 过期时的不记名令牌)
- 为此,请检查此 Tutorial 以按照此处提供的步骤进行操作。
我正在尝试使用 Postman.
通过云存储 Rest API(https://storage.googleapis.com/upload/storage/v1/b)
将文件从本地上传到 GCP 存储桶
我在 GCP Shell 上使用 Bearer Token 进行授权并使用 运行 $(gcloud auth print-access-token)
命令每次生成该令牌。
我需要知道,如何在发送请求时从 Postman 自动生成该令牌?
有什么方法可以在 Postman 中每次作为预请求脚本执行 $(gcloud auth print-access-token)
吗?
谢谢
我对 postman 不是很好,但我认为你可以 运行 预请求获取令牌并在后续请求中重用它。
如果是这样,您可以从 gcloud auth print-access-token
命令中获得灵感,方法是添加 --log-http
参数以可视化 CLI 执行的请求并在 Postman 中重现它们。
编辑 1
如果执行请求,可以看到对这个URLhttps://oauth2.googleapis.com/token
要重现调用,您可以尝试使用 curl
curl -X POST -d "grant_type=refresh_token&client_id=32555940559.apps.googleusercontent.com&client_secret=ZmssLNjJy2998hD4CTg2ejr2&refresh_token=<REFRESH_TOKEN>&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth" https://oauth2.googleapis.com/token
在这次通话中,您需要 REFRESH_TOKEN
,您可以在这里
cat ~/.config/gcloud/legacy_credentials/<YOUR EMAIL>/adc.json
Google Cloud Storage 与其他 Google API 一样需要身份验证,其中一种身份验证方式是提供 bearer token .这些不记名令牌寿命短,需要重新生成。
因此有 3 种方法可以生成不记名令牌,因此您可以使用 Postman 与 Google 存储 API 或其他 Google API 交互:
使用 oauth2l CLI(手动重新生成新的承载令牌并使用新令牌更新授权 header)
- 此 oauth2l CLI 实用程序允许您生成不记名令牌,可以将其粘贴到邮递员中的授权 header 中。您可以使用
使用 OAuth 2 和用户凭据配置 Postman(可以通过 Postman UI 管理令牌,单击即可清除过期令牌一个按钮)
Postman 可以配置为触发 OAuth 2 流程并在所有请求中使用生成的不记名令牌。但请确保所有用户在 Google Cloud Platform 项目中具有正确的权限。
您需要在 Google Cloud Console 中创建 OAuth 2 凭据:
- 转到 APIS 和服务
- 然后转到“凭据”选项卡
- 点击创建凭据
- Select OAuth 客户端 ID
- 填写字段以创建 OAuth 客户端 ID(还添加授权重定向 URI,但这不需要解析到任何地方)。
Client ID 和 Client Secret 需要保存在您的机器中。
使用 Postman 的环境变量功能根据 environment/project 使用不同的凭据。在 Postman 中,使用右上角的齿轮图标为您的凭据创建一个新环境。
相应地配置变量:
AUTH_CALLBACK_URL , AUTH_URL, AUTH_CLIENT_ID, AUTH_CLIENT_SECRET, AUTH_ACCESS_TOKEN_URL
此变量应与 OAuth 2 客户端 ID 创建菜单中定义的变量相同,并且应为 following 之一:
AUTH_SCOPE
一旦定义,这些变量就可以在 Postman 的授权选项卡中使用。这可以在 collection 级别、文件夹级别甚至单个请求级别进行配置。
要重新生成令牌,您可以转到授权选项卡并单击获取新访问令牌
配置 Postman 使用 pre-request 脚本和服务凭证(pre-request 脚本 自动重新生成 过期时的不记名令牌)
- 为此,请检查此 Tutorial 以按照此处提供的步骤进行操作。