# 确认 OAuth 2.0 令牌的用户认证会话
#### 功能介绍
确认用户认证会话以获取资源的OAuth2.0令牌。
#### URI
POST /v1/resource-token-auth/complete
#### 请求参数
表1请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| session_uri     | 是    | String                                                                      | **参数解释**： 用户认证会话的唯一标识符（跟踪OAuth2流程状态）。 **约束限制**： 不涉及。 **取值范围**： 必须以"urn:ietf:params:oauth:request_uri:"开头，后面跟随字母、数字、"."、"-"、"_"、"\~"组成的字符串，长度为1\~1024个字符。 **默认取值**： 不涉及。 |
| user_identifier | 是    | [UserIdentifier] object | **参数解释**： 用于生成工作负载访问令牌的OAuth2.0令牌或用户ID，只需要其中一个字段（user_token或user_id）。 **约束限制**： user_token和user_id二选一。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                    |
   
 表2UserIdentifier 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| user_token | 否    | String | **参数解释**： 用于用户身份识别的OAuth2.0令牌。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
| user_id    | 否    | String | **参数解释**： 用于用户身份识别的用户ID。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。       |
   
#### 响应参数
**状态码：200**
无
**状态码：400**
表3响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：401**
表4响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：403**
表5响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：404**
表6响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：429**
表7响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：500**
表8响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
#### 请求示例
确认OAuth2.0令牌的用户认证会话。
```
POST https://{endpoint}/v1/resource-token-auth/complete
{
  "session_uri" : "urn:ietf:params:oauth:request_uri:abc123",
  "user_identifier" : {
    "user_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                       |
|:---|:---|
| 200 | 请求成功。                    |
| 400 | 请求体异常（包括无效RAR详情验证）。      |
| 401 | 认证失败。                    |
| 403 | 没有操作权限（包括缺少RAR授予的细粒度权限）。 |
| 404 | 未找到相应的资源。                |
| 429 | 请求过于频繁。                  |
| 500 | 服务端异常。                   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentidentity/ErrorCode.html)。
