<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
借助 get_token
(1) 实用程序,您可以使用 Apigee 凭据交换访问权限
以及可用于访问 Edge API 的刷新令牌。令牌也可以用于 SAML。
OAuth2 工作流的 LDAP 实现。
通过 get_token
,您可以:
- 获取访问令牌或刷新令牌。
- 将令牌输出到
stdout
,以供在变量和命令中使用。 - 将令牌存储在磁盘上。
然后,您可以在向 Edge API 发出的请求中添加有效令牌,并在令牌过期时获取新令牌。
前提条件:在使用 get_token
之前,您必须
安装此应用。
get_token 语法
get_token
实用程序使用以下语法:
get_token -u USERNAME:PASSWORD [-m MFACODE]
或
get_token -p passcode
其中:
元素 | 是否必需? | 说明 |
---|---|---|
USERNAME | 可选。必须提供用户名和密码的组合或密码。 | 您的 Apigee 用户名,通常是与您的 Apigee 账号关联的电子邮件地址。
首次调用 get_token 时,您必须传递用户名或密码。
您不需要将电子邮件
地址,直到访问令牌和刷新令牌过期为止。如果您要缓存令牌
则您必须在每次调用中指定您的用户名。 |
PASSWORD | 可选。必须提供用户名和密码的组合或密码。 | 您的 Apigee 账号的密码。如果您省略密码,系统会提示您输入
请在第一次使用 get_token 时输入该密钥,并在任何后续调用时都输入无效
刷新令牌。如果您不想直接在命令中使用密码,可以使用
使用一次性密码代替您的密码。 |
MFACODE | 可选 | 临时的六位数多重身份验证
身份验证 (MFA) 代码。如果您使用 -u 并启用了 MFA,则必须提供此代码。
如果省略,系统会提示你(除非使用密码模式)。如果你未启用 MFA
或者如果您有脚本化流,则可以指定 -m "" 以避免提示。 |
PASSCODE | 可选。必须提供用户名和密码的组合或密码。 | 您可以用来代替一次性密码 密码。使用 SAML IDP 验证身份时,必须提供密码, 使用 LDAP IDP 进行身份验证。 |
例如:
get_tokenget_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass
成功的调用会向 stdout
输出有效的访问令牌,并存储
~/.sso-cli
中的访问令牌和刷新令牌。您可以一直使用这些令牌,
如令牌过期中所述。
首次成功调用 get_token
后,您无需添加
直到令牌过期为止。
首次调用 get_token
如果您在首次调用时没有指定任何选项,get_token
将提示您输入
以下:
- 如果通过 SAML 身份提供方 (IDP) 进行身份验证,则为密码。
- 您的用户名、密码和临时 MFA 代码。
以下示例第一次调用 get_token
,并使用
用户名/密码组合,带有用于身份验证的可选 MFA 代码:
get_token Enter username:ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:123456
ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl <snip> VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242
将您的访问令牌添加到请求中
成功调用 get_token
后,您可以使用访问令牌
以多种方式将其传入 Edge API 调用的 Authorization
标头中。
您可以:
- 复制
get_token
响应的内容,并将其直接插入到 标头:curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \ -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
- 结合使用命令来获取令牌并将其添加到标头中:
token=$(get_token); curl -H "Authorization: Bearer $token" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
请注意,
get_token
使用命令替换语法$(...)
,因此 其执行结果。 - 在
curl
调用中调用get_token
:curl -H "Authorization: Bearer $(get_token)" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
请注意,
get_token
使用命令替换语法$(...)
,因此 其执行结果。
以下示例请求可获取有关“ahamilton-eval”组织。完整列表 请参阅 Apigee Edge API 参考文档。
将 get_token 与 SAML 和 LDAP 搭配使用
get_token
实用程序可与 SAML、LDAP 或任何其他底层 IDP 搭配使用。
get_token
支持使用多个单点登录登录网址和多个账号。
系统会提示拥有多个账号的单个用户指定用户名
每个 get_token
调用。
清除 get_token 缓存
您可以使用以下可选标志来清除 get_token
缓存:
--clear-sso-cache
清除
$HOME/.sso-cli
下 SSO_LOGIN_URL 的缓存目录 从而舍弃服务器的任何缓存的访问令牌和刷新令牌。--clear-all-sso-cache
清除
$HOME/.sso-cli
下的所有目录,从而舍弃所有缓存的令牌。
(1) 版权所有 2023 Google LLC
get_token
工具以“软件”的形式提供下方
您使用 Google Cloud Platform 时须遵守的协议,
如需查看具体条款,请访问 https://cloud.google.com/terms/service-terms。