OIDC API 身份验证
Equinix API 使用 OAuth 2.0 协议来验证您的 OIDC 用户对 API 端点的请求。 要与 Equinix API 进行交互,您需要一个持有者访问令牌。
先决条件
-
一个OIDC 提供程序。
-
来自您注册的 OIDC 提供商的 OIDC ID 令牌。
-
产品或服务特定的权限,用于指定 API 访问令牌的作用域。您需要以下任一条件:
ern:<access-policy-ern>其中<access-policy-ern>是已授予主体的单一访问策略。roleassignments:<org-id>其中<org-id>是 OIDC 主体已分配 角色 的组织 ID。projectpolicies:<project-id>其中<project-id>是 OIDC 主体已被授予 访问策略 或访问策略的项目 ID。orgpolicies:<org-id>其中<org-id>是主体已被授予一个或多个访问策略的组织 ID。orgpolicies:<org-id> roleassignments:<org-id>其中<org-id>是组织 ID,其中主体已被授予角色和访问策略。
有关更多信息,请参阅访问控制范围。
请求访问令牌
要请求持有者访问令牌,请向 /v1/token 端点发送 POST 请求。
请在请求正文中注明:
grant_type- 使用urn:ietf:params:oauth:grant-type:token-exchange获取访问令牌。scope(必填)- 提供范围。系统会检查令牌授予的权限是否与主体已被授予相应的角色或访问策略相符。有关更多信息,请参阅访问控制范围。subject_token- OIDC ID令牌。subject_token_type- 使用urn:ietf:params:oauth:token-type:id_token将您的subject_token标识为 OIDC ID令牌。
示例 cURL 请求:
curl -X POST 'https://sts.eqix.equinix.com/v1/token' \
--data-urlencode 'grant_type=urn:ietf:params:oauth:grant-type:token-exchange' \
--data-urlencode 'subject_token_type=urn:ietf:params:oauth:token-type:id_token' \
--data-urlencode 'scope=<role_or_access_policy>' \
--data-urlencode 'subject_token=<oidc_id_token>'
使用访问令牌
要与 Equinix API 交互,请在 HTTP 请求的 Authorization 标头中发送您的访问令牌,并加上 Authorization: Bearer <token>。