AWS SSO OIDC RegisterClient API 详解
ref: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_RegisterClient.html
向 IAM Identity Center 注册公共客户端。
这允许客户端使用带有代码交换证明密钥 (PKCE) 的授权码授予或设备代码授予来执行授权。
请求语法
POST /client/register HTTP/1.1Content-type: application/json{   "clientName": "string",   "clientType": "string",   "entitledApplicationArn": "string",   "grantTypes": [ "string" ],   "issuerUrl": "string",   "redirectUris": [ "string" ],   "scopes": [ "string" ]}
- 
clientName- 客户端名称。
 - 类型: String
 - 是否必须: 是
 
 - 
clientType- 客户端类型。该服务仅支持 
public客户端类型。除此之外的任何客户端类型都将被服务拒绝。 - 类型: String
 - 是否必须: 是
 
 - 客户端类型。该服务仅支持 
 - 
entitledApplicationArn- 此 IAM Identity Center 应用程序 ARN 用于定义管理员管理的配置,以便公共客户端访问资源。 授权时,此客户端可用的范围、授权和重定向 URI 将受此应用程序资源的限制。
 - 类型:String
 - 是否必须: 否
 
 - 
grantType- 客户端支持的 OAuth 2.0 授权类型列表。此列表用于限制客户端可用的令牌授予流程。支持以下 OAuth 2.0 授权类型:
- Authorization Code - 
authorization_code - Device Code - 
urn:ietf:params:oauth:grant-type:device_code - Refresh Token - 
refresh_token 
 - Authorization Code - 
 - 类型:String Array
 - 是否必须: 否
 
 - 客户端支持的 OAuth 2.0 授权类型列表。此列表用于限制客户端可用的令牌授予流程。支持以下 OAuth 2.0 授权类型:
 - 
issuerUrl- 与 IAM Identity Center 实例关联的 IAM Identity Center 颁发者 URL。用户通过客户端访问资源时需要此值。
 - 类型:String
 - 是否必须: 否
 
 - 
redirectUris- 客户端的重定向 URI 列表。授权完成后,此列表用于限制用户代理可以重定向的位置。
 - 类型:String Array
 - 是否必须: 否
 
 - 
scopes- 客户端定义的 scope 列表。授权后,此列表用于在授予访问令牌时限制权限。
 - 类型:String Array
 - 是否必须: 否
 
 
响应语法
HTTP/1.1 200 OKContent-type: application/json{   "authorizationEndpoint": "string",   "clientId": "string",   "clientIdIssuedAt": number,   "clientSecret": "string",   "clientSecretExpiresAt": number,   "tokenEndpoint": "string"}
如果操作成功,服务器将发回 HTTP 200 响应
响应 JSON 中各个字段的含义如下:
- 
authorizationEndpoint- 客户端可以用来请求授权的节点。
 - 类型: String
 
 - 
clientId- 每个客户端的唯一标识符。客户端将使用此标识符在后续调用中向服务进行身份验证。
 - 类型: String
 
 - 
clientIdIssuedAtclientId和clientSecret的签发时间。- 类型: Long
 
 - 
clientSecret- 为客户端生成的密钥。客户端将在后续调用中使用此字符串进行服务身份验证。
 - 类型: String
 
 - 
clientSecretExpiresAtclientId和clientSecret的失效时间。- 类型: Long
 
 - 
tokenEndpoint- 客户端可以用来创建令牌的节点。
 - 类型: String
 
 
实例
URL 地址:https://oidc.{region}.amazonaws.com
这里的 region 替换成实际的 region 即可。
注意:以下例子中,为了便于展示,对所有的 JSON 进行了格式化。
1. 请求
POST /client/register HTTP/1.1Host: oidc.us-east-1.amazonaws.comConnection: closeContent-Type: application/jsonContent-Length: 234{  "clientName":"XX XX XXXXX",  "clientType":"public",  "issuerUrl":"https:\/\/d-xxxxxxxxxx.awsapps.com\/start",  "redirectUris":["http:\/\/127.0.0.1:50804"],  "grantTypes":["authorization_code","refresh_token"],  "scopes":["sso:account:access"]}
2. 响应
HTTP/1.1 200 OKDate: Wed, 10 Sep 2025 03:11:02 GMTContent-Type: application/jsonContent-Length: 3063Connection: closex-amzn-RequestId: 83f751c4-ff32-4a78-9673-xxxd872cecb5{  "authorizationEndpoint":null,  "clientId":"xxxRc_xprD0YDHd4KYgtR3VzLWVhcxxxxx",  "clientIdIssuedAt":1757473862,  "clientSecret":******,  "clientSecretExpiresAt":1765249862,  "tokenEndpoint":null}