diff options
Diffstat (limited to 'data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php')
| -rw-r--r-- | data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php | 6895 |
1 files changed, 3121 insertions, 3774 deletions
diff --git a/data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php b/data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php index 3fc0dca..2906908 100644 --- a/data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php +++ b/data/zh_cn/eiam-developerapi/2022-02-25/api-docs.php @@ -1,348 +1,958 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'Eiam-developerapi', - 'version' => '2022-02-25', - ], + 'info' => ['style' => 'ROA', 'product' => 'Eiam-developerapi', 'version' => '2022-02-25'], 'directories' => [ [ - 'id' => 404716, - 'title' => '凭据 API', + 'children' => ['ObtainJwtAuthenticationToken', 'FetchOAuthAuthenticationToken', 'GenerateJwtAuthenticationToken', 'ListAuthenticationTokens', 'ObtainJwtAuthenticationTokenByDerivedShortToken', 'ReinstateAuthenticationToken', 'ReinstateAuthenticationTokenByConsumer', 'RevokeAuthenticationToken', 'RevokeAuthenticationTokenByConsumer', 'ValidateAuthenticationToken'], 'type' => 'directory', - 'children' => [ - 'ObtainCredential', - ], + 'title' => '认证令牌API', + 'id' => 424911, ], [ - 'id' => 404718, - 'title' => '云角色访问凭证 API', + 'children' => ['CreateUserExclusiveCredential', 'ObtainCredential'], 'type' => 'directory', - 'children' => [ - 'ObtainCloudAccountRoleAccessCredential', - ], + 'title' => '凭据 API', + 'id' => 424912, ], [ - 'id' => 404720, - 'title' => 'OIDC API', + 'children' => ['ObtainCloudAccountRoleAccessCredential'], 'type' => 'directory', - 'children' => [ - 'GenerateToken', - 'GenerateDeviceCode', - 'GetUserInfo', - 'RevokeToken', - ], + 'title' => '云角色访问凭证 API', + 'id' => 424913, ], [ - 'id' => 404725, - 'title' => '授权范围 API', + 'children' => ['GenerateTokenByAuthorizationServer', 'GenerateToken', 'GenerateDeviceCode', 'GetUserInfo', 'RevokeToken'], 'type' => 'directory', - 'children' => [ - 'GetApplicationProvisioningScope', - ], + 'title' => 'OIDC API', + 'id' => 424914, ], [ - 'id' => 404727, - 'title' => '组织管理 API', + 'children' => ['GetApplicationProvisioningScope'], 'type' => 'directory', - 'children' => [ - 'CreateOrganizationalUnit', - 'PatchOrganizationalUnit', - 'GetOrganizationalUnit', - 'DeleteOrganizationalUnit', - 'ListOrganizationalUnits', - 'ListOrganizationalUnitParentIds', - 'GetOrganizationalUnitIdByExternalId', - ], + 'title' => '授权范围 API', + 'id' => 424915, ], [ - 'id' => 404735, - 'title' => '账户管理 API', + 'children' => ['CreateOrganizationalUnit', 'PatchOrganizationalUnit', 'GetOrganizationalUnit', 'DeleteOrganizationalUnit', 'ListOrganizationalUnits', 'ListOrganizationalUnitParentIds', 'GetOrganizationalUnitIdByExternalId'], 'type' => 'directory', - 'children' => [ - 'CreateUser', - 'PatchUser', - 'GetUser', - 'UpdateUserPassword', - 'DeleteUser', - 'ListUsers', - 'EnableUser', - 'DisableUser', - 'GetUserIdByEmail', - 'GetUserIdByPhoneNumber', - 'GetUserIdByUserExternalId', - 'GetUserIdByUsername', - 'SetUserPrimaryOrganizationalUnit', - 'AddUserToOrganizationalUnits', - 'RemoveUserFromOrganizationalUnits', - 'ListGroupsForUser', - ], + 'title' => '组织管理 API', + 'id' => 424916, ], [ - 'id' => 404752, - 'title' => '账户组管理 API', + 'children' => ['CreateUser', 'PatchUser', 'GetUser', 'UpdateUserPassword', 'DeleteUser', 'ListUsers', 'EnableUser', 'DisableUser', 'GetUserIdByEmail', 'GetUserIdByPhoneNumber', 'GetUserIdByUserExternalId', 'GetUserIdByUsername', 'SetUserPrimaryOrganizationalUnit', 'AddUserToOrganizationalUnits', 'RemoveUserFromOrganizationalUnits', 'ListGroupsForUser'], 'type' => 'directory', - 'children' => [ - 'GetGroup', - 'CreateGroup', - 'PatchGroup', - 'DeleteGroup', - 'ListGroups', - 'AddUsersToGroup', - 'RemoveUsersFromGroup', - 'ListUsersForGroup', - ], + 'title' => '账户管理 API', + 'id' => 424917, + ], + [ + 'children' => ['GetGroup', 'CreateGroup', 'PatchGroup', 'DeleteGroup', 'ListGroups', 'AddUsersToGroup', 'RemoveUsersFromGroup', 'ListUsersForGroup'], + 'type' => 'directory', + 'title' => '账户组管理 API', + 'id' => 424918, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'ObtainCredential' => [ - 'summary' => '查询一个凭据信息,获取凭据明文。', - 'path' => '/v2/{instanceId}/credentials/_/actions/obtain', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'AddUserToOrganizationalUnits' => [ + 'summary' => '将一个EIAM账户加入到多个EIAM组织中,这些组织作为账户的从属组织,如果账户已属于相关组织,则不做更新。', + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/addUserToOrganizationalUnits', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - 'application/json', - 'multipart/form-data', + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2'], ], - 'produces' => [ - 'application/json', + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'userId', + 'in' => 'path', + 'schema' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'organizationalUnitIds' => [ + 'title' => '组织ID列表。', + 'description' => '组织ID列表。', + 'type' => 'array', + 'items' => ['description' => '组织ID。', 'type' => 'string', 'required' => false, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'required' => true, + 'example' => '[ou_wovwffm62xifdziem7an7xxxxx]', + ], + ], + 'required' => false, + ], + ], ], - 'operationType' => 'read', + 'responses' => [ + 200 => [], + ], + 'title' => '将一个EIAM账户加入到多个EIAM组织中', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'AddUsersToGroup' => [ + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/addUsersToGroup', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', + 'operationType' => 'update', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasDPGRH1', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREidaasIEJFYH'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'groupId', + 'in' => 'path', + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', - 'description' => '认证信息。 格式为:Bearer ${access_token}。 '."\n" - .'> 请输入IDaaS签发的Access Token。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxxxx', + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'userIds' => [ + 'title' => '账户ID列表', + 'description' => '账户ID列表', + 'type' => 'array', + 'items' => ['description' => '账户ID。', 'type' => 'string', 'required' => false, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'required' => true, + 'example' => '[user_d6sbsuumeta4h66ec3il7yxxxx}', + ], + ], + 'required' => false, ], ], + ], + 'responses' => [ + 200 => [], + ], + 'title' => '将多个EIAM账户加入到一个EIAM组中', + 'summary' => '将多个EIAM账户加入到一个EIAM组中,如果账户已属于相关组,则不做更新。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'CreateGroup' => [ + 'path' => '/v2/{instanceId}/{applicationId}/groups', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas7VNWU7'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], [ 'name' => 'instanceId', 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'IDaaS实例ID', - 'description' => 'EIAM 实例 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - 'maxLength' => 64, + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'groupName' => ['title' => '组织名称。', 'description' => '组织名称。', 'type' => 'string', 'required' => true, 'example' => 'name001'], + 'groupExternalId' => ['title' => '外部ID。', 'description' => '外部ID。', 'type' => 'string', 'required' => false, 'example' => 'group_2bo6lefcewdausyyxxxx'], + ], + 'required' => false, ], ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'GroupIdObject', + 'description' => 'GroupIdObject', + 'type' => 'object', + 'properties' => [ + 'groupId' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], + ], + ], + ], + ], + 'title' => '创建一个EIAM组', + 'summary' => '调用CreateGroup接口,创建组资源。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"groupId\\": \\"group_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', + ], + 'CreateOrganizationalUnit' => [ + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'credentialIdentifier', - 'in' => 'query', + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '云角色的外部唯一标识', - 'description' => '凭据标识。', - 'type' => 'string', - 'required' => true, - 'example' => 'credential_identifier_test', - 'maxLength' => 64, + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'organizationalUnitName' => ['title' => '机构名称', 'description' => '组织名称,长度限制最长为64字符。', 'type' => 'string', 'required' => true, 'example' => 'name001'], + 'parentId' => ['title' => '父机构ID', 'description' => '父组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitExternalId' => ['title' => '机构外部ID', 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID,长度限制最长为64字符。', 'type' => 'string', 'required' => false, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'description' => ['title' => '描述', 'description' => '组织描述,长度限制最长为128字符。', 'type' => 'string', 'required' => false, 'example' => '测试组织'], + ], + 'required' => false, + 'example' => 'app_xx001', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '', - 'description' => '', + 'title' => 'OrganizationalUnitIdObject', + 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'title' => 'EIAM实例ID。', - 'description' => 'EIAM实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'credentialId' => [ - 'title' => '凭据ID。', - 'description' => '凭据ID。', - 'type' => 'string', - 'example' => 'cred_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], - 'status' => [ - 'title' => '凭据状态', - 'description' => '凭据状态。取值可选范围:'."\n" - .'- enabled:启用。'."\n" - .'- disabled:禁用。', - 'type' => 'string', - 'example' => 'enabled', - ], - 'credentialIdentifier' => [ - 'title' => '凭据标识', - 'description' => '凭据标识。', - 'type' => 'string', - 'example' => 'credential_identifier_test', - ], - 'credentialName' => [ - 'title' => '凭据名称', - 'description' => '凭据名称。', - 'type' => 'string', - 'example' => 'credential_name', - ], - 'credentialSubjectType' => [ - 'title' => '凭据所属的主体类型。', - 'description' => '凭据所属的主体类型。取值可选范围:'."\n" - .'- authentication_token_provider:认证令牌提供商。', - 'type' => 'string', - 'example' => 'authentication_token_provider', - ], - 'credentialSubjectId' => [ - 'title' => '凭据所属的主体ID。', - 'description' => '凭据所属的主体ID。', - 'type' => 'string', - 'example' => 'apt_werthgfdsasffxxxxx', - ], - 'credentialScenarioLabel' => [ - 'title' => '凭据的使用场景标签。', - 'description' => '凭据的使用场景标签。取值可选范围:'."\n" - .'- llm:大模型。'."\n" - .'- saas:三方 SaaS 服务。', - 'type' => 'string', - 'example' => 'llm', - ], - 'credentialType' => [ - 'title' => '凭据类型。', - 'description' => '凭据类型。取值可选范围:'."\n" - .'- api_key:API Key认证凭证。'."\n" - .'- oauth_client:OAuth客户端认证凭证。', - 'type' => 'string', - 'example' => 'api_key', - ], - 'credentialCreationType' => [ - 'title' => '凭据的创建类型。', - 'description' => '凭据的创建类型。取值可选范围:'."\n" - .'- system_init:系统创建。'."\n" - .'- user_custom:用户创建。', - 'type' => 'string', - 'example' => 'user_custom', - ], - 'description' => [ - 'title' => '描述', - 'description' => '凭据描述。', - 'type' => 'string', - 'example' => 'credential_description', - ], - 'createTime' => [ - 'title' => '云角色创建时间', - 'description' => '创建时间,Unix 时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1649830225000', + 'organizationalUnitId' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + ], + ], + ], + ], + 'title' => '创建一个EIAM组织', + 'summary' => '调用CreateOrganizationalUnit接口,在指定组织下创建新组织资源。', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" + .'| 400 | MissingParameter.OrganizationalUnitName | The specified parameter:OrganizationalUnitName is required! | 缺少组织名称参数|'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx| 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', + ], + 'CreateUser' => [ + 'summary' => '调用CreateUser接口在指定组织下,创建新的EIAM的账户资源。', + 'path' => '/v2/{instanceId}/{applicationId}/users', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'username' => ['title' => '账户名称。', 'description' => '账户名称,可包含英文字母、数字、符号“_” 、“ .”、“@”、“-”,长度最大限制256字符。', 'type' => 'string', 'required' => true, 'example' => 'name001'], + 'displayName' => ['title' => '账户展示名。', 'description' => '账户展示名。长度限制最长为128字符。', 'type' => 'string', 'required' => false, 'example' => 'display_name001'], + 'password' => ['title' => '密码, 参考密码策略', 'description' => '账户密码,密码规则参考IDaaS控制台密码策略。', 'type' => 'string', 'required' => false, 'example' => 'xxxxx'], + 'phoneRegion' => ['title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填', 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填。', 'type' => 'string', 'required' => false, 'example' => '86'], + 'phoneNumber' => ['title' => '手机号', 'description' => '账户手机号,格式为6~15位数字。', 'type' => 'string', 'required' => false, 'example' => '156xxxxxxx'], + 'phoneNumberVerified' => ['title' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true', 'description' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'email' => ['title' => '邮箱', 'description' => '邮箱,邮箱前缀可包含大写英文字母、小写英文字母、数字、点、下划线或中划线,长度限制最长为128字符。', 'type' => 'string', 'required' => false, 'example' => 'example@example.com'], + 'emailVerified' => ['title' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true', 'description' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'userExternalId' => ['title' => '账户外部ID', 'description' => '账户外部ID,用于与外部系统的关联,最大长度限制128字符,若不设置,默认设置为账户ID。', 'type' => 'string', 'required' => false, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'primaryOrganizationalUnitId' => ['title' => '账户主机构ID', 'description' => '主组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'description' => ['title' => '描述', 'description' => '账户描述,长度限制最长为256字符。', 'type' => 'string', 'required' => false, 'example' => '测试账户'], + 'passwordInitializationConfig' => [ + 'title' => '密码初始化配置', + 'description' => '密码初始化配置。', + 'type' => 'object', + 'properties' => [ + 'passwordInitializationPolicyPriority' => ['title' => '密码初始化策略优先级,不传不生效。枚举取值:global(全局优先)、custom(自定义优先)', 'description' => '密码初始化策略优先级,默认不生效,取值可选范围:'."\n" + .'- global:全局优先,采用实例级别的密码初始化策略,即本次设置的密码初始化策略均无效,参考密码相关策略的密码初始化策略。'."\n" + .'- custom:自定义优先,以当前定义的密码初始化策略为准,包括是否开启强制改密、密码初始化方式以及通知渠道。', 'type' => 'string', 'required' => false, 'example' => 'global'], + 'passwordForcedUpdateStatus' => ['title' => '强制修改密码状态,默认不启用。枚举取值:enabled(开启)、disabled(禁用)', 'description' => '强制修改密码状态,默认不启用,取值可选范围:'."\n" + .'- enabled:开启。'."\n" + .'- disabled:禁用。', 'type' => 'string', 'required' => false, 'example' => 'enabled'], + 'userNotificationChannels' => [ + 'title' => '密码通知渠道。枚举取值:email(邮件)、sms(短信)', + 'description' => '密码通知渠道,取值可选范围:'."\n" + .'- email:邮件。'."\n" + .'- sms:短信。', + 'type' => 'array', + 'items' => ['description' => '密码通知渠道。', 'type' => 'string', 'required' => false, 'example' => 'email'], + 'required' => false, + 'example' => 'sms', + ], + 'passwordInitializationType' => ['title' => '密码初始化方式。枚举取值:random(随机)', 'description' => '密码初始化方式,取值可选范围:'."\n" + .'- random:随机。', 'type' => 'string', 'required' => false, 'example' => 'random'], + ], + 'required' => false, ], - 'updateTime' => [ - 'title' => '云角色更新时间', - 'description' => '更新时间,Unix 时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1649830227000', + 'customFields' => [ + 'title' => '扩展字段列表', + 'description' => '账户扩展字段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展字段标识和值对象。', + 'type' => 'object', + 'properties' => [ + 'fieldName' => ['title' => '扩展字段标识', 'description' => '扩展字段标识。类型和值域可通过控制台查看对应扩展字段值的详细信息。', 'type' => 'string', 'required' => false, 'example' => 'age'], + 'fieldValue' => ['title' => '扩展字段值', 'description' => '扩展字段值。', 'type' => 'string', 'required' => false, 'example' => 'fieldValue_001'], + ], + 'required' => false, + ], + 'required' => false, ], + ], + 'required' => false, + 'example' => 'app_xx001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '调用CreateUser接口在指定组织下,创建新的EIAM的账户资源', + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'userId' => ['title' => '账户ID。', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', + 'title' => '创建一个EIAM账户', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" + .'| 400 | invalid_request | Access token application id not match | 请求无效,token信息与参数应用ID不一致|'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不存在或组织不在同步范围内|'."\n" + .'| 404 | instance\\_not\\_found | Instance id not found: idaas_ue2jvisn35ea5lmthk267xxxxx | 实例不存在 |'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 400 | MissingParameter.Username | The specified parameter:Username is required! | 缺少账户名参数 |'."\n" + .'| 400 | MissingParameter.PhoneRegion | The specified parameter:PhoneRegion is required! | 缺少手机区号参数,若已设置手机号,此为必填项 |'."\n" + .'| 400 | MissingParameter.PhoneNumberVerified | The specified parameter:PhoneRegion is required! | 缺少手机区号是否已验证参数,若已设置手机号,此为必填项 |'."\n" + .'| 400 | MissingParameter.Email | The specified parameter:Email is required! | 缺少邮箱是否已验证参数,若已设置邮箱,此为必填项 |'."\n" + .'| 400 | MissingParameter.Username | The specified parameter:Username is required! | 缺少账户名参数 |'."\n" + .'| 400 | MissingParameter.PrimaryOrganizationalUnitId | The specified parameter:PrimaryOrganizationalUnitId is required! | 缺少主组织参数 |'."\n" + .'| 400 | InvalidParameter.PhoneNumber | The specified parameter:PhoneNumber is invalid. | 无效的手机号 |'."\n" + .'| 400 | InvalidParameter.PhoneRegion | The specified parameter:PhoneRegion is invalid. | 无效的手机区号 |'."\n" + .'| 400 | InvalidParameter.Password | The specified parameter:Password is invalid. | 密码不符合规则,请参考IDaaS控制台密码规则 |'."\n" + .'| 400 | InvalidParameter.Email | The specified parameter:Email is invalid. | 无效的邮箱 |'."\n" + .'| 400 | InvalidParameter.DisplayName | The specified parameter:DisplayName is invalid. | 账户显示名过长 |'."\n" + .'| 400 | InvalidParameter.Description | The specified parameter:Description is invalid. | 账户描述过长 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-11-18T04:15:32.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-08-18T08:41:27.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + ], + 'CreateUserExclusiveCredential' => [ + 'summary' => '创建账户专属凭据。', + 'path' => '/v2/{instanceId}/credentials/_/actions/createUserExclusive', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。 '."\n" + .'> 请输入IDaaS签发的Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => 'IDaaS实例ID', 'description' => 'EIAM 实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求 Body。', + 'type' => 'object', + 'properties' => [ + 'credentialIdentifier' => ['title' => '凭据标识。', 'description' => '凭据标识。', 'type' => 'string', 'required' => true, 'example' => 'credential_identifier_test'], + 'credentialName' => ['title' => '凭据名称。', 'description' => '凭据名称。', 'type' => 'string', 'required' => true, 'example' => 'credential_name'], + 'credentialScenarioLabel' => ['title' => '凭据使用场景标签。', 'description' => '凭据的使用场景标签。取值可选范围:'."\n" + .'- llm:大模型。'."\n" + .'- saas:三方 SaaS 服务。', 'type' => 'string', 'required' => false, 'example' => 'llm'], + 'credentialType' => ['title' => '凭据类型。', 'description' => '凭据类型。取值可选范围:'."\n" + .'- api_key:API Key认证凭证。'."\n" + .'- oauth_client:OAuth客户端认证凭证。', 'type' => 'string', 'required' => true, 'example' => 'api_key'], 'credentialContent' => [ - 'title' => '凭据的内容', + 'title' => '凭据内容。', 'description' => '凭据的内容。', 'type' => 'object', 'properties' => [ - 'oauthClientContent' => [ - 'title' => 'OAuth客户端认证凭证类型的凭据内容。', - 'description' => 'OAuth 客户端认证凭证类型的凭据内容。', - 'type' => 'object', - 'properties' => [ - 'clientId' => [ - 'title' => 'OAuth协议的client_id', - 'description' => 'OAuth协议的client_id。', - 'type' => 'string', - 'example' => 'dmvncmxersdxxxxxx', - ], - 'clientSecret' => [ - 'description' => 'OAuth 协议的 client_secret。', - 'type' => 'string', - 'example' => 'nsklnertyt5ddwizncxxxx', - ], - ], - ], 'apiKeyContent' => [ + 'title' => 'Api Key的内容。', 'description' => 'API Key 凭证类型的凭据内容。', 'type' => 'object', 'properties' => [ - 'apiKey' => [ - 'description' => 'API Key 的内容。', - 'type' => 'string', - 'example' => 'nsklncmwizncxxxx'."\n", - ], + 'apiKey' => ['title' => 'Api Key的值。', 'description' => 'Api Key的值。', 'type' => 'string', 'required' => true, 'example' => 'sk-nsklncmwizncxxxx'], ], + 'required' => false, ], ], + 'required' => true, ], + 'description' => ['title' => '描述。', 'description' => '凭据描述。', 'type' => 'string', 'required' => false, 'example' => 'credential_description'], + 'credentialExternalId' => ['title' => '凭据外部唯一标识。', 'type' => 'string'], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => '响应体。', + 'type' => 'object', + 'properties' => [ + 'credentialId' => ['title' => '凭据ID。', 'description' => '凭据 ID。', 'type' => 'string', 'example' => 'cred_mkv7rgt4d7i4u7zqtzev2mxxxx'], + 'credentialIdentifier' => ['title' => '凭据标识。', 'description' => '凭据标识。', 'type' => 'string', 'example' => 'credential_identifier_test'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建账户专属凭据', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“管理静态凭据”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为 `urn:cloud:idaas:pam|credential:manage`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"credentialId\\": \\"cred_mkv7rgt4d7i4u7zqtzev2mxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"credentialIdentifier\\": \\"credential_identifier_test\\",\\n \\"credentialName\\": \\"credential_name\\",\\n \\"credentialSubjectType\\": \\"authentication_token_provider\\",\\n \\"credentialSubjectId\\": \\"apt_werthgfdsasffxxxxx\\",\\n \\"credentialScenarioLabel\\": \\"llm\\",\\n \\"credentialType\\": \\"api_key\\",\\n \\"credentialCreationType\\": \\"user_custom\\",\\n \\"description\\": \\"credential_description\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830227000,\\n \\"credentialContent\\": {\\n \\"oauthClientContent\\": {\\n \\"clientId\\": \\"dmvncmxersdxxxxxx\\",\\n \\"clientSecret\\": \\"nsklnertyt5ddwizncxxxx\\"\\n },\\n \\"apiKeyContent\\": {\\n \\"apiKey\\": \\"nsklncmwizncxxxx\\\\n\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '查询一个含敏感信息的凭据', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"credentialId\\": \\"cred_mkv7rgt4d7i4u7zqtzev2mxxxx\\",\\n \\"credentialIdentifier\\": \\"credential_identifier_test\\"\\n}","type":"json"}]', ], - 'ObtainCloudAccountRoleAccessCredential' => [ - 'summary' => '获取云角色(CloudAccountRole)的临时访问凭证。', - 'path' => '/v2/{instanceId}/cloudAccountRoles/_/actions/obtainAccessCredential', - 'methods' => [ - 'get', + 'DeleteGroup' => [ + 'summary' => '调用DeleteGroup接口,删除指定组。', + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasJ7WKML', 'FEATUREidaas7VNWU7'], ], - 'schemes' => [ - 'https', + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'groupId', + 'in' => 'path', + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], + ], ], + 'responses' => [ + 200 => [], + ], + 'title' => '删除一个EIAM组', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'DeleteOrganizationalUnit' => [ + 'summary' => '调用DeleteOrganizationalUnit接口,删除指定组织。', + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - 'application/json', - 'multipart/form-data', + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL'], ], - 'produces' => [ - 'application/json', + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'."\n"], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'organizationalUnitId', + 'in' => 'path', + 'schema' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + ], ], - 'operationType' => 'read', + 'responses' => [ + 200 => [], + ], + 'title' => '删除一个EIAM组织', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内或不存在|'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'DeleteUser' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'userId', + 'in' => 'path', + 'schema' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + ], + ], + 'responses' => [ + 200 => [], + ], + 'title' => '删除一个EIAM账户', + 'summary' => '调用DeleteUser接口,删除一个EIAM账户信息。', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'DisableUser' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/disable', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas1FXU07'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'userId', + 'in' => 'path', + 'schema' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'required' => true, 'example' => 'user_001'], + ], + ], + 'responses' => [ + 200 => [], + ], + 'title' => '禁用一个EIAM账户', + 'summary' => '调用DisableUser接口,禁用指定的EIAM账户。', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid_token | Access token is not valid | '."\n" + .'| 404 | ResourceNotFound.User | The specified User resource: user_xxxx not found. | '."\n" + .'| 404 | application_not_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | '."\n" + .'| 403 | application_disabled | Application is disabled | '."\n" + .'| 403 | application_api_disabled | Application api invoke disabled | '."\n" + .'| 403 | permission_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | '."\n" + .'| 500 | Internal Server Error | Internal Server Error |', + 'changeSet' => [ + ['createdAt' => '2022-11-18T04:15:27.000Z', 'description' => 'OpenAPI 下线'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'EnableUser' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/enable', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas1FXU07'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'userId', + 'in' => 'path', + 'schema' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'required' => true, 'example' => 'user_001'], + ], + ], + 'responses' => [ + 200 => [], + ], + 'title' => '启用一个EIAM账户', + 'summary' => '调用EnableUser接口,启用指定的EIAM账户。', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid_token | Access token is not valid | '."\n" + .'| 404 | ResourceNotFound.User | The specified User resource: user_xxxx not found. | '."\n" + .'| 404 | application_not_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | '."\n" + .'| 403 | application_disabled | Application is disabled | '."\n" + .'| 403 | application_api_disabled | Application api invoke disabled | '."\n" + .'| 403 | permission_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | '."\n" + .'| 500 | Internal Server Error | Internal Server Error |', + 'changeSet' => [ + ['createdAt' => '2022-11-18T04:15:27.000Z', 'description' => 'OpenAPI 下线'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'FetchOAuthAuthenticationToken' => [ + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/fetchOAuthAccessToken', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasDPGRH1', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], @@ -350,35 +960,228 @@ [ 'name' => 'Authorization', 'in' => 'header', + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', - 'description' => '认证信息。 格式为:Bearer ${access_token}。 '."\n" - .'> 请输入IDaaS签发的Access Token。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxxxx', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'credentialProviderIdentifier' => ['title' => '凭据提供商的业务标识。', 'description' => '凭据提供商标识。', 'type' => 'string', 'required' => true, 'example' => 'test_example_identifier'], + 'scope' => ['title' => 'OAuth协议的scope。', 'description' => '对应OAuth协议的scope。'."\n" + ."\n" + .'> 若不指定,则签发出的OAuth Access Token的scope范围为对应的凭据提供商处的Scope配置。'."\n" + ."\n" + .'><notice>多个 Scope 值之间会通过空格分隔。></notice>', 'type' => 'string', 'required' => false, 'example' => 'example:test_01 example:test_02'], + ], + 'required' => false, ], ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'OAuth认证令牌详情。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => '实例 ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌ID。', 'type' => 'string', 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], + 'credentialProviderId' => ['title' => '凭据提供商的ID。', 'description' => '凭据提供商 ID。', 'type' => 'string', 'example' => 'atp_01kr2cmj5gxxx4fvmls2e93dxxxxx'], + 'createTime' => ['title' => '认证令牌的创建时间,Unix时间戳。', 'description' => '认证令牌的创建时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '认证令牌的更新时间,Unix时间戳。', 'description' => '认证令牌的更新时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'authenticationTokenType' => ['title' => '认证令牌的类型。', 'description' => '认证令牌类型。'."\n" + ."\n" + .'> 取值固定为`oauth_access_token`,表示OAuth Access Token类型的认证令牌。', 'type' => 'string', 'example' => 'oauth_access_token'], + 'revoked' => ['title' => '认证令牌是否被吊销。', 'description' => '认证令牌是否被吊销。', 'type' => 'boolean', 'example' => 'false'], + 'creatorType' => ['title' => '认证令牌的创建者类型。', 'description' => '认证令牌创建者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用', 'type' => 'string', 'example' => 'application'], + 'creatorId' => ['title' => '认证令牌的创建者ID。', 'description' => '认证令牌创建者ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'consumerType' => ['title' => '认证令牌的使用者类型。', 'description' => '认证令牌使用者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用'."\n" + .'- custom:自定义类型', 'type' => 'string', 'example' => 'application'], + 'consumerId' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'expirationTime' => ['title' => '认证令牌的过期时间,Unix时间戳,单位秒。', 'description' => '认证令牌过期时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1772693568000'], + 'oauthAccessTokenContent' => [ + 'title' => 'OAuth Access Token类型的认证令牌内容。', + 'description' => 'OAuth Access Token类型认证令牌内容。', + 'type' => 'object', + 'properties' => [ + 'accessTokenValue' => ['title' => '对应OAuth协议中的AccessToken响应的access_token字段。', 'description' => '对应OAuth协议中的Token端点响应的access_token字段。', 'type' => 'string', 'example' => 'DgEBAGP2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'tokenType' => ['title' => '对应OAuth协议中的AccessToken响应的token_type字段。', 'description' => '对应OAuth协议中的Token 端点响应的token_type字段。', 'type' => 'string', 'example' => 'Bearer'], + 'scope' => ['title' => '对应OAuth协议中的AccessToken响应的scope字段。', 'description' => '对应OAuth协议中的Token 端点响应的scope字段。', 'type' => 'string', 'example' => 'example:test_01 example:test_02'], + ], + ], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '拉取一个有效的OAuth认证令牌', + 'summary' => '拉取一个有效的OAuth认证令牌。', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“获取认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:obtain`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"authenticationTokenId\\": \\"atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx\\",\\n \\"credentialProviderId\\": \\"atp_01kr2cmj5gxxx4fvmls2e93dxxxxx\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830225000,\\n \\"authenticationTokenType\\": \\"oauth_access_token\\",\\n \\"revoked\\": false,\\n \\"creatorType\\": \\"application\\",\\n \\"creatorId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"consumerType\\": \\"application\\",\\n \\"consumerId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"expirationTime\\": 1772693568000,\\n \\"oauthAccessTokenContent\\": {\\n \\"accessTokenValue\\": \\"DgEBAGP2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\",\\n \\"tokenType\\": \\"Bearer\\",\\n \\"scope\\": \\"example:test_01 example:test_02\\"\\n }\\n}","type":"json"}]', + ], + 'GenerateDeviceCode' => [ + 'summary' => '调用GenerateDeviceCode接口,生成设备流code。', + 'path' => '/v2/{instanceId}/{applicationId}/oauth2/device/code', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasUATW0R', 'FEATUREidaasLUEH19'], + ], + 'parameters' => [ [ 'name' => 'instanceId', 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'scope', + 'in' => 'query', + 'schema' => ['title' => 'scope范围', 'description' => 'scope范围。', 'type' => 'string', 'required' => false, 'example' => 'xxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => 'IDaaS实例ID', - 'description' => '实例 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', + 'title' => 'DeviceCodeResponse', + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'device_code' => ['title' => '设备验证码', 'description' => '设备码。', 'type' => 'string', 'example' => 'xxxxx'], + 'user_code' => ['title' => '终端用户验证码', 'description' => '用户授权码。', 'type' => 'string', 'example' => 'xxxxx'], + 'verification_uri' => ['title' => '验证URI', 'description' => '检验uri。', 'type' => 'string', 'example' => 'https://example.com/authorize/device'], + 'verification_uri_complete' => ['title' => '包含user_code的完整验证URI', 'description' => '完整的检验uri。', 'type' => 'string', 'example' => 'https://example.com/authorize/device?user_code='."\n" + .'xxxx'], + 'expires_in' => ['title' => 'device_code和user_code的有效时长,单位秒', 'description' => '有效时长,单位秒', 'type' => 'integer', 'format' => 'int64', 'example' => '1200'], + 'expires_at' => ['title' => '过期时间', 'description' => '失效时间,格式为Unix时间戳,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1653288641'], + 'interval' => ['title' => '请求token节点的超时时间,单位秒', 'description' => '请求token节点的超时时间,单位秒', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + ], ], ], + ], + 'title' => '生成设备Code', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_request | Application is not turn device grant flow on| 设备流授权未开启 |'."\n" + .'| 400 | invalid\\_request | Invalid client id| client id无效 |'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"device_code\\": \\"xxxxx\\",\\n \\"user_code\\": \\"xxxxx\\",\\n \\"verification_uri\\": \\"https://example.com/authorize/device\\",\\n \\"verification_uri_complete\\": \\"https://example.com/authorize/device?user_code=\\\\nxxxx\\",\\n \\"expires_in\\": 1200,\\n \\"expires_at\\": 1653288641,\\n \\"interval\\": 5\\n}","type":"json"}]', + ], + 'GenerateJwtAuthenticationToken' => [ + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/generateJwt', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'cloudAccountRoleExternalId', - 'in' => 'query', + 'Anonymous' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '云角色的外部唯一标识', - 'description' => '云角色业务标识。', - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ram::xxx:role/role-test', + 'description' => '请求 Body。', + 'type' => 'object', + 'properties' => [ + 'credentialProviderIdentifier' => ['title' => '凭据提供商的业务标识。', 'description' => '凭据提供商标识。', 'type' => 'string', 'required' => true, 'example' => 'test_example_identifier'], + 'issuer' => ['title' => '对应JWT的iss字段。', 'description' => '对应JWT的iss字段。', 'type' => 'string', 'required' => false, 'example' => 'https://test.issuer.com'], + 'subject' => ['title' => '对应JWT的sub字段。', 'description' => '对应JWT的sub字段。', 'type' => 'string', 'required' => true, 'example' => 'test_jwt_subject'], + 'audiences' => [ + 'title' => '对应JWT的aud字段。', + 'description' => '对应JWT的aud字段。', + 'type' => 'array', + 'items' => ['description' => 'JWT受众。', 'type' => 'string', 'required' => false, 'example' => 'test_jwt_audience'], + 'required' => true, + ], + 'customClaims' => [ + 'title' => '自定义Claims。', + 'description' => '自定义Claims。'."\n" + ."\n" + .'><notice>键值对形式,其中键必须为字符串类型。></notice>', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['title' => '', 'description' => '自定义Claim键值对。', 'type' => 'any', 'example' => '-'], + ], + 'expiration' => ['title' => 'JWT的有效时长,单位秒。', 'description' => 'JWT的有效时长,单位秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '0', 'exclusiveMinimum' => true, 'example' => '900'], + 'includeDerivedShortToken' => ['title' => '生成JWT是否需要包含“派生短令牌”。', 'description' => '生成JWT是否需要包含“派生短令牌”。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + 'required' => false, ], ], ], @@ -386,164 +1189,95 @@ 200 => [ 'schema' => [ 'title' => '', - 'description' => '', + 'description' => 'JWT认证令牌详情。', 'type' => 'object', 'properties' => [ - 'cloudAccountId' => [ - 'title' => '云账号ID', - 'description' => '云账号 ID。', - 'type' => 'string', - 'example' => 'ca_01kmegjc11qa1txxxxx', - ], - 'cloudAccountRoleId' => [ - 'title' => '云账号角色ID', - 'description' => '云角色 ID。', - 'type' => 'string', - 'example' => 'carole_01kmek49aqxxxx', - ], - 'cloudAccountRoleName' => [ - 'title' => '云账号角色名称', - 'description' => '云角色名称。', - 'type' => 'string', - 'example' => 'role-test', - ], - 'cloudAccountRoleExternalId' => [ - 'title' => '云账号角色外部唯一键', - 'description' => '云角色业务标识。', - 'type' => 'string', - 'example' => 'acs:ram::xxx:role/role-test', - ], - 'cloudAccountVendorType' => [ - 'title' => '云账号身份类型(云厂商类型)', - 'description' => '云账号类型。取值可选范围:'."\n" - .'- alibaba_cloud:阿里云', - 'type' => 'string', - 'enumValueTitles' => [ - 'alibaba_cloud' => 'alibaba_cloud', - ], - 'example' => 'alibaba_cloud', - ], - 'cloudAccountRoleAccessCredential' => [ - 'title' => '可用于扮演云角色的临时访问凭证', - 'description' => '可用于扮演云角色的临时访问凭证。', + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => '实例 ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌 ID。', 'type' => 'string', 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], + 'credentialProviderId' => ['title' => '凭据提供商的ID。', 'description' => '凭据提供商 ID。', 'type' => 'string', 'example' => 'atp_01kr2cmj5gxxx4fvmls2e93dxxxxx'], + 'createTime' => ['title' => '认证令牌的创建时间,Unix时间戳。', 'description' => '认证令牌的创建时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '认证令牌的更新时间,Unix时间戳。', 'description' => '认证令牌的更新时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'authenticationTokenType' => ['title' => '认证令牌的类型。', 'description' => '认证令牌类型。'."\n" + ."\n" + .'> 取值固定为`jwt`,表示JWT类型的认证令牌。', 'type' => 'string', 'example' => 'jwt'], + 'revoked' => ['title' => '认证令牌是否被吊销。', 'description' => '认证令牌是否被吊销。', 'type' => 'boolean', 'example' => 'false'], + 'creatorType' => ['title' => '认证令牌的创建者类型。', 'description' => '认证令牌创建者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用', 'type' => 'string', 'example' => 'application'], + 'creatorId' => ['title' => '认证令牌的创建者ID。', 'description' => '认证令牌创建者 ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'consumerType' => ['title' => '认证令牌的使用者类型。', 'description' => '认证令牌使用者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用'."\n" + .'- custom:自定义类型', 'type' => 'string', 'example' => 'custom'], + 'consumerId' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者ID。', 'type' => 'string', 'example' => 'test_jwt_subject'], + 'expirationTime' => ['title' => '认证令牌的过期时间,Unix时间戳,单位秒。', 'description' => '认证令牌过期时间,Unix时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1772693568000'], + 'jwtContent' => [ + 'title' => 'JWT类型的认证令牌的内容。', + 'description' => 'JWT类型认证令牌内容。', 'type' => 'object', 'properties' => [ - 'accessCredentialExpiresAt' => [ - 'title' => '云角色临时访问凭证的过期时间,单位秒。', - 'description' => '云角色临时访问凭证的过期时间,Unix时间戳格式,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1767196800', - ], - 'alibabaCloudStsToken' => [ - 'title' => '代表阿里云Role的STS Token', - 'description' => '用于扮演阿里云RAM角色的临时身份凭证(STS Token)。'."\n" - .'> 仅当云角色关联的云账号类型为阿里云(alibaba_cloud)时才会有返回值。', - 'type' => 'object', - 'properties' => [ - 'accessKeyId' => [ - 'title' => '访问密钥ID', - 'description' => '访问密钥 ID。', - 'type' => 'string', - 'example' => 'STS.NUgYrLnoC37mZZCNnAbez****', - ], - 'accessKeySecret' => [ - 'title' => '访问密钥密文', - 'description' => '访问密钥。', - 'type' => 'string', - 'example' => 'CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****', - ], - 'securityToken' => [ - 'title' => '临时凭证会话安全令牌', - 'description' => '安全令牌。', - 'type' => 'string', - 'example' => 'CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****', - ], - 'expiration' => [ - 'title' => 'STS Token到期失效时间(UTC时间)'."\n", - 'description' => 'Token 到期失效时间(UTC 时间)。', - 'type' => 'string', - 'example' => '2021-10-20T04:27:09Z', - ], - ], - ], + 'jwtValue' => ['title' => 'JWT内容。', 'description' => 'JWT内容。', 'type' => 'string', 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'derivedShortToken' => ['title' => 'JWT的派生短令牌。', 'description' => 'JWT的派生短令牌。', 'type' => 'string', 'example' => 'sk-Nx2vzxxxxxxxxxxxxxxxxx'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cloudAccountId\\": \\"ca_01kmegjc11qa1txxxxx\\",\\n \\"cloudAccountRoleId\\": \\"carole_01kmek49aqxxxx\\",\\n \\"cloudAccountRoleName\\": \\"role-test\\",\\n \\"cloudAccountRoleExternalId\\": \\"acs:ram::xxx:role/role-test\\",\\n \\"cloudAccountVendorType\\": \\"alibaba_cloud\\",\\n \\"cloudAccountRoleAccessCredential\\": {\\n \\"accessCredentialExpiresAt\\": 1767196800,\\n \\"alibabaCloudStsToken\\": {\\n \\"accessKeyId\\": \\"STS.NUgYrLnoC37mZZCNnAbez****\\",\\n \\"accessKeySecret\\": \\"CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****\\",\\n \\"securityToken\\": \\"CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****\\",\\n \\"expiration\\": \\"2021-10-20T04:27:09Z\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '获取云角色的临时访问凭证', - 'description' => '该API基于IDaaS签发的Access Token进行身份认证和鉴权。'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '生成一个JWT认证令牌', + 'summary' => '生成一个JWT认证令牌。', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" ."\n" - .'请确保传入的Access Token具备访问IDaaS内置PAM应用(Privileged Access Management)的“获取云角色访问凭证”的功能授权。'."\n" - .'> 对应的scope为`urn:cloud:idaas:pam|cloud_account_role:obtain_access_credential`。', + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“获取认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:obtain`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"authenticationTokenId\\": \\"atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx\\",\\n \\"credentialProviderId\\": \\"atp_01kr2cmj5gxxx4fvmls2e93dxxxxx\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830225000,\\n \\"authenticationTokenType\\": \\"jwt\\",\\n \\"revoked\\": false,\\n \\"creatorType\\": \\"application\\",\\n \\"creatorId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"consumerType\\": \\"custom\\",\\n \\"consumerId\\": \\"test_jwt_subject\\",\\n \\"expirationTime\\": 1772693568000,\\n \\"jwtContent\\": {\\n \\"jwtValue\\": \\"eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\",\\n \\"derivedShortToken\\": \\"sk-Nx2vzxxxxxxxxxxxxxxxxx\\"\\n }\\n}","type":"json"}]', ], 'GenerateToken' => [ 'summary' => '使用凭证信息,生成指定IDaaS EIAM实例下某个应用的access token。', 'path' => '/v2/{instanceId}/{applicationId}/oauth2/token', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], 'produces' => [], + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + ], 'parameters' => [ [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。'."\n", 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。'."\n", 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'client_id', 'in' => 'query', - 'schema' => [ - 'description' => '客户端ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['description' => '客户端ID。', 'type' => 'string', 'required' => false, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'client_secret', 'in' => 'query', - 'schema' => [ - 'description' => '客户端密钥,赋值场景:'."\n" - .'当grant\\_type为client\\_credentials",采用client\\_secret\\_post方式时,需填写此值。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CSEHDcHcrUKHw1CuxkJEHPveWRXBGqVqRsxxxx', - ], + 'schema' => ['description' => '客户端密钥,赋值场景:'."\n" + .'当grant\\_type为client\\_credentials",采用client\\_secret\\_post方式时,需填写此值。'."\n", 'type' => 'string', 'required' => false, 'example' => 'CSEHDcHcrUKHw1CuxkJEHPveWRXBGqVqRsxxxx'], ], [ 'name' => 'grant_type', @@ -560,122 +1294,62 @@ 'required' => true, 'enumValueTitles' => [], 'example' => 'client_credentials', - 'enum' => [ - 'authorization_code', - 'urn:ietf:params:oauth:grant-type:device_code', - 'refresh_token', - 'client_credentials', - 'password', - ], + 'enum' => ['authorization_code', 'urn:ietf:params:oauth:grant-type:device_code', 'refresh_token', 'client_credentials', 'password'], ], ], [ 'name' => 'code', 'in' => 'query', - 'schema' => [ - 'title' => 'code码', - 'description' => '授权code码,传入场景:'."\n" - .'grant\\_type=authorization_code 授权码模式时,必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxx', - ], + 'schema' => ['title' => 'code码', 'description' => '授权code码,传入场景:'."\n" + .'grant\\_type=authorization_code 授权码模式时,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'xxxx'], ], [ 'name' => 'username', 'in' => 'query', - 'schema' => [ - 'title' => '用户名', - 'description' => '账户名,在帐密模式下,必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'uesrname_001', - ], + 'schema' => ['title' => '用户名', 'description' => '账户名,在帐密模式下,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'uesrname_001'], ], [ 'name' => 'password', 'in' => 'query', - 'schema' => [ - 'title' => '密码', - 'description' => '账户名,在帐密模式下,必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['title' => '密码', 'description' => '账户名,在帐密模式下,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'xxxxxx'], ], [ 'name' => 'device_code', 'in' => 'query', - 'schema' => [ - 'title' => '设备码', - 'description' => '设备code码,传入场景:'."\n" - .'grant\\_type=urn:ietf:params:oauth:grant-type:device_code即设备流模式时,必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxx', - ], + 'schema' => ['title' => '设备码', 'description' => '设备code码,传入场景:'."\n" + .'grant\\_type=urn:ietf:params:oauth:grant-type:device_code即设备流模式时,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'xxxx'], ], [ 'name' => 'redirect_uri', 'in' => 'query', - 'schema' => [ - 'title' => '重定向URI', - 'description' => '重定向URI,传入场景:'."\n" - .'grant_type=authorization_code 授权码模式时,必须参数,与获取授权码请求中的重定向URI必须是一致的。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], + 'schema' => ['title' => '重定向URI', 'description' => '重定向URI,传入场景:'."\n" + .'grant_type=authorization_code 授权码模式时,必须参数,与获取授权码请求中的重定向URI必须是一致的。', 'type' => 'string', 'required' => false, 'example' => 'xxx'], ], [ 'name' => 'refresh_token', 'in' => 'query', - 'schema' => [ - 'title' => '更新token', - 'description' => '刷新token,传入场景:'."\n" - .'grant\\_type=refresh_token即刷新令牌模式时,必填参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'ATxxx', - ], + 'schema' => ['title' => '更新token', 'description' => '刷新token,传入场景:'."\n" + .'grant\\_type=refresh_token即刷新令牌模式时,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'ATxxx'], ], [ 'name' => 'code_verifier', 'in' => 'query', - 'schema' => [ - 'title' => '验证code', - 'description' => '授权码模式下,开启PKCE能力时,对应的验证code。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], + 'schema' => ['title' => '验证code', 'description' => '授权码模式下,开启PKCE能力时,对应的验证code。', 'type' => 'string', 'required' => false, 'example' => 'xxx'], ], [ 'name' => 'exclusive_tag', 'in' => 'query', - 'schema' => [ - 'title' => '排除的tag', - 'description' => '排除的tag。', - 'type' => 'string', - 'required' => false, - 'example' => 'ATxxx', - ], + 'schema' => ['title' => '排除的tag', 'description' => '排除的tag。', 'type' => 'string', 'required' => false, 'example' => 'ATxxx'], ], [ 'name' => 'scope', 'in' => 'query', - 'schema' => [ - 'title' => 'scope范围', - 'description' => 'scope范围,非必须,支持多选,多个取值以空格分隔。'."\n" - .'可选取值:'."\n" - .'- openid '."\n" - .'- email'."\n" - .'- phone'."\n" - .'- profile', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxx', - ], + 'schema' => ['title' => 'scope范围', 'description' => 'scope范围,非必须,支持多选,多个取值以空格分隔。'."\n" + .'可选取值:'."\n" + .'- openid '."\n" + .'- email'."\n" + .'- phone'."\n" + .'- profile', 'type' => 'string', 'required' => false, 'example' => 'xxxx'], ], ], 'responses' => [ @@ -691,49 +1365,18 @@ .'Basic - Basic类型'."\n" .'Bearer - Bearer类型', 'type' => 'string', - 'enumValueTitles' => [ - 'Basic' => 'Basic', - 'Bearer' => 'Bearer', - ], + 'enumValueTitles' => ['Basic' => 'Basic', 'Bearer' => 'Bearer'], 'example' => 'Bearer', ], - 'access_token' => [ - 'title' => 'access_token', - 'description' => 'access_token。', - 'type' => 'string', - 'example' => 'ATxxx', - ], - 'refresh_token' => [ - 'title' => 'refresh_token', - 'description' => 'refresh_token。', - 'type' => 'string', - 'example' => 'RTxxx', - ], - 'expires_in' => [ - 'title' => '有效时长,单位秒', - 'description' => '有效时长,单位秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1200', - ], - 'expires_at' => [ - 'title' => '过期时间', - 'description' => '失效时间,格式为Unix时间戳,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1653288641', - ], - 'id_token' => [ - 'title' => 'id_token', - 'description' => 'id_token。', - 'type' => 'string', - 'example' => 'xxxxx', - ], + 'access_token' => ['title' => 'access_token', 'description' => 'access_token。', 'type' => 'string', 'example' => 'ATxxx'], + 'refresh_token' => ['title' => 'refresh_token', 'description' => 'refresh_token。', 'type' => 'string', 'example' => 'RTxxx'], + 'expires_in' => ['title' => '有效时长,单位秒', 'description' => '有效时长,单位秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1200'], + 'expires_at' => ['title' => '过期时间', 'description' => '失效时间,格式为Unix时间戳,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1653288641'], + 'id_token' => ['title' => 'id_token', 'description' => 'id_token。', 'type' => 'string', 'example' => 'xxxxx'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"token_type\\": \\"Bearer\\",\\n \\"access_token\\": \\"ATxxx\\",\\n \\"refresh_token\\": \\"RTxxx\\",\\n \\"expires_in\\": 1200,\\n \\"expires_at\\": 1653288641,\\n \\"id_token\\": \\"xxxxx\\"\\n}","type":"json"}]', 'title' => '生成应用认证token', 'description' => '目前支持的方式:授权码模式、设备流、刷新token、客户端模式、账密模式。'."\n" .'### 1. 授权码模式(Authorization Code)'."\n" @@ -852,319 +1495,165 @@ .'| 400 | invalid\\_grant | Invalid or not supported grant\\_type: client\\_credentials| 应用API未开放 |'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GenerateDeviceCode' => [ - 'summary' => '调用GenerateDeviceCode接口,生成设备流code。', - 'path' => '/v2/{instanceId}/{applicationId}/oauth2/device/code', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-04-04T10:57:29.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-11-18T04:15:26.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"token_type\\": \\"Bearer\\",\\n \\"access_token\\": \\"ATxxx\\",\\n \\"refresh_token\\": \\"RTxxx\\",\\n \\"expires_in\\": 1200,\\n \\"expires_at\\": 1653288641,\\n \\"id_token\\": \\"xxxxx\\"\\n}","type":"json"}]', + ], + 'GenerateTokenByAuthorizationServer' => [ + 'path' => '/v2/{instanceId}/authorizationServer/{authorizationServerId}/oauth2/token', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + ], 'parameters' => [ [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ - 'name' => 'applicationId', + 'name' => 'authorizationServerId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '授权服务器ID', 'description' => '授权服务器ID。', 'type' => 'string', 'required' => true, 'example' => 'iauths_system'], ], [ - 'name' => 'scope', + 'name' => 'grant_type', 'in' => 'query', - 'schema' => [ - 'title' => 'scope范围', - 'description' => 'scope范围。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], + 'schema' => ['title' => '授权类型', 'description' => '授权类型。', 'type' => 'string', 'required' => true, 'example' => 'authorization_code'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'DeviceCodeResponse', - 'description' => '响应结果。', - 'type' => 'object', - 'properties' => [ - 'device_code' => [ - 'title' => '设备验证码', - 'description' => '设备码。', - 'type' => 'string', - 'example' => 'xxxxx', - ], - 'user_code' => [ - 'title' => '终端用户验证码', - 'description' => '用户授权码。', - 'type' => 'string', - 'example' => 'xxxxx', - ], - 'verification_uri' => [ - 'title' => '验证URI', - 'description' => '检验uri。', - 'type' => 'string', - 'example' => 'https://example.com/authorize/device', - ], - 'verification_uri_complete' => [ - 'title' => '包含user_code的完整验证URI', - 'description' => '完整的检验uri。', - 'type' => 'string', - 'example' => 'https://example.com/authorize/device?user_code='."\n" - .'xxxx', - ], - 'expires_in' => [ - 'title' => 'device_code和user_code的有效时长,单位秒', - 'description' => '有效时长,单位秒', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1200', - ], - 'expires_at' => [ - 'title' => '过期时间', - 'description' => '失效时间,格式为Unix时间戳,单位为秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1653288641', - ], - 'interval' => [ - 'title' => '请求token节点的超时时间,单位秒', - 'description' => '请求token节点的超时时间,单位秒', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - ], - ], + [ + 'name' => 'client_id', + 'in' => 'query', + 'schema' => ['description' => '客户端ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"device_code\\": \\"xxxxx\\",\\n \\"user_code\\": \\"xxxxx\\",\\n \\"verification_uri\\": \\"https://example.com/authorize/device\\",\\n \\"verification_uri_complete\\": \\"https://example.com/authorize/device?user_code=\\\\nxxxx\\",\\n \\"expires_in\\": 1200,\\n \\"expires_at\\": 1653288641,\\n \\"interval\\": 5\\n}","type":"json"}]', - 'title' => '生成设备Code', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_request | Application is not turn device grant flow on| 设备流授权未开启 |'."\n" - .'| 400 | invalid\\_request | Invalid client id| client id无效 |'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetUserInfo' => [ - 'summary' => '调用GetUserInfo接口,通过用户token获取账户信息。', - 'path' => '/v2/{instanceId}/{applicationId}/oauth2/userinfo', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'Anonymous' => [], + 'name' => 'code', + 'in' => 'query', + 'schema' => ['title' => 'code码', 'description' => '授权code码,传入场景:'."\n" + .'grant\\_type=authorization_code 授权码模式时,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'CO541xY59EsKniV2wvWDXZ4jiKxxxxx'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], - 'parameters' => [ [ - 'name' => 'instanceId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'name' => 'username', + 'in' => 'query', + 'schema' => ['title' => '用户名', 'description' => '用户名。', 'type' => 'string', 'required' => false, 'example' => 'userxxxxx'], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'name' => 'password', + 'in' => 'query', + 'schema' => ['title' => '用户密码', 'description' => '用户密码。', 'type' => 'string', 'required' => false, 'example' => 'testxxxxx'], ], [ - 'name' => 'Authorization', - 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'name' => 'device_code', + 'in' => 'query', + 'schema' => ['title' => '设备码', 'description' => '设备code码,传入场景:'."\n" + .'grant\\_type=urn:ietf:params:oauth:grant-type:device_code即设备流模式时,必填参数。', 'type' => 'string', 'required' => false, 'example' => 'DCxxxxxx'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Map', - 'description' => '响应结果。', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'any', - 'description' => '账户信息', - 'example' => '无', - ], - ], + [ + 'name' => 'redirect_uri', + 'in' => 'query', + 'schema' => ['title' => '重定向URI', 'description' => '重定向URI,传入场景:'."\n" + .'grant_type=authorization_code 授权码模式时,必须参数,与获取授权码请求中的重定向URI必须是一致的。', 'type' => 'string', 'required' => false, 'example' => 'https://example.com/xxxxx'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"key\\": \\"无\\"\\n}","type":"json"}]', - 'title' => '获取账户信息', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_request | Application is not OIDC application| 非OIDC应用 |'."\n" - .'| 400 | invalid\\_token | Invalid token| token无效 |'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'RevokeToken' => [ - 'summary' => '调用RevokeToken接口,吊销指定的access_token或refresh_token。', - 'path' => '/v2/{instanceId}/{applicationId}/oauth2/revoke', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'Anonymous' => [], + 'name' => 'refresh_token', + 'in' => 'query', + 'schema' => ['title' => '刷新token', 'description' => '刷新凭证。', 'type' => 'string', 'required' => false, 'example' => 'RTxxxxx'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'instanceId', - 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'name' => 'scope', + 'in' => 'query', + 'schema' => ['title' => 'scope范围', 'description' => 'scope范围。', 'type' => 'string', 'required' => false, 'example' => 'openid'], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'name' => 'code_verifier', + 'in' => 'query', + 'schema' => ['title' => '验证code', 'description' => '验证 code。', 'type' => 'string', 'required' => false, 'example' => 'xxxxx'], ], [ - 'name' => 'client_id', + 'name' => 'client_assertion', 'in' => 'query', - 'schema' => [ - 'description' => '客户端ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '客户端断言', 'description' => '客户端断言。', 'type' => 'string', 'required' => false, 'example' => 'eyJraWQiOiJLRVlLZ0Iyxxxxx'], ], [ - 'name' => 'client_secret', + 'name' => 'client_assertion_type', 'in' => 'query', - 'schema' => [ - 'description' => '客户端密钥。', - 'type' => 'string', - 'required' => false, - 'example' => 'CSEHDcHcrUKHw1CuxkJEHPveWRXBGqVqRsxxxx', - ], + 'schema' => ['title' => '客户端断言的类型', 'description' => '客户端断言的类型。', 'type' => 'string', 'required' => false, 'example' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer'], ], [ - 'name' => 'token', + 'name' => 'application_federated_credential_name', 'in' => 'query', - 'schema' => [ - 'title' => '撤销的token', - 'description' => '待撤销的token。', - 'type' => 'string', - 'required' => true, - 'example' => 'ATxxxx', - ], + 'schema' => ['title' => '应用联邦凭证名称', 'description' => '应用联邦凭证名称。', 'type' => 'string', 'required' => false, 'example' => 'testxxxxx'], ], [ - 'name' => 'token_type_hint', + 'name' => 'client_x509', 'in' => 'query', - 'schema' => [ - 'title' => 'token类型', - 'description' => 'token类型,取值可选范围:'."\n" - .'access_token'."\n" - .'refresh\\_token', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'access_token' => 'access_token', - 'refresh_token' => 'refresh_token', - ], - 'example' => 'access_token', - ], + 'schema' => ['title' => '终端证书', 'description' => '终端证书。', 'type' => 'string', 'required' => false, 'example' => 'testxxxxx'], + ], + [ + 'name' => 'client_x509_chain', + 'in' => 'query', + 'schema' => ['title' => '中间证书列表', 'description' => '中间证书列表。', 'type' => 'string', 'required' => false, 'example' => 'testxxxxx'], + ], + [ + 'name' => 'client_secret', + 'in' => 'query', + 'schema' => ['title' => '客户端密钥', 'description' => '客户端密钥。', 'type' => 'string', 'required' => false, 'example' => 'CSEHDcHcrUKHw1CuxkJEHPveWRxxxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RevokeResponse', - 'description' => '响应结果。', + 'title' => 'token信息', + 'description' => 'token信息', 'type' => 'object', + 'properties' => [ + 'token_type' => ['description' => '凭证类型。', 'type' => 'string', 'example' => 'Bearer'], + 'access_token' => ['description' => '访问凭证。', 'type' => 'string', 'example' => 'eyJraWQiOiJLRVlLZ0Iyxxxxx'."\n"], + 'refresh_token' => ['description' => '刷新凭证。', 'type' => 'string', 'example' => 'ATxxxxx'], + 'expires_in' => ['description' => '访问凭证的有效时长,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1200'], + 'expires_at' => ['description' => '访问凭证的失效时间,格式为Unix时间戳,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1653288641'], + 'id_token' => ['description' => '身份凭证。', 'type' => 'string', 'example' => 'eyJraWQiOiJLRVlLZ0Iyxxxxx'."\n"], + 'scope' => ['description' => 'scope 范围。', 'type' => 'string', 'example' => 'openid'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n}","type":"json"}]', - 'title' => '吊销指定的token', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '通过实例级授权服务器生成应用认证 token', + 'summary' => '实例级授权服务器 Token 端点', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"token_type\\": \\"Bearer\\",\\n \\"access_token\\": \\"eyJraWQiOiJLRVlLZ0Iyxxxxx\\\\n\\",\\n \\"refresh_token\\": \\"ATxxxxx\\",\\n \\"expires_in\\": 1200,\\n \\"expires_at\\": 1653288641,\\n \\"id_token\\": \\"eyJraWQiOiJLRVlLZ0Iyxxxxx\\\\n\\",\\n \\"scope\\": \\"openid\\"\\n}","type":"json"}]', ], 'GetApplicationProvisioningScope' => [ - 'summary' => '调用GetApplicationProvisioningScope接口,获取指定实例下对应应用的同步范围信息。', 'path' => '/v2/{instanceId}/{applicationId}/provisioningScope', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], @@ -1176,46 +1665,26 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaas60YEMV', - ], + 'abilityTreeNodes' => ['FEATUREidaas60YEMV'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => ' '."\n" - .'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => ' '."\n" + .'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], ], 'responses' => [ @@ -1229,28 +1698,20 @@ 'title' => '机构ID列表', 'description' => '组织ID列表。', 'type' => 'array', - 'items' => [ - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'items' => ['description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], 'example' => '[ou_xxx001]', ], 'groupIds' => [ 'description' => '组ID列表。', 'type' => 'array', - 'items' => [ - 'description' => '组ID。', - 'type' => 'string', - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], + 'items' => ['description' => '组ID。', 'type' => 'string', 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitIds\\": [\\n \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n ],\\n \\"groupIds\\": [\\n \\"group_wovwffm62xifdziem7an7xxxxx\\"\\n ]\\n}","type":"json"}]', 'title' => '获取应用同步范围信息', + 'summary' => '调用GetApplicationProvisioningScope接口,获取指定实例下对应应用的同步范围信息。', 'description' => '> - 同步范围在IDaaS控制台的应用管理中设置,创建应用之后,默认拥有此API的权限'."\n", 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" @@ -1261,855 +1722,709 @@ .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:read_all] | 缺少API授权信息 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'CreateOrganizationalUnit' => [ - 'summary' => '调用CreateOrganizationalUnit接口,在指定组织下创建新组织资源。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2025-03-13T10:05:30.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-11T00:42:07.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitIds\\": [\\n \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n ],\\n \\"groupIds\\": [\\n \\"group_wovwffm62xifdziem7an7xxxxx\\"\\n ]\\n}","type":"json"}]', + ], + 'GetGroup' => [ + 'summary' => '调用GetGroup接口,获取指定组的详细信息。', + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas1LGU5E'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'groupId', + 'in' => 'path', + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求body。', + 'title' => 'DeveloperGroupDTO', + 'description' => 'DeveloperGroupDTO', 'type' => 'object', 'properties' => [ - 'organizationalUnitName' => [ - 'title' => '机构名称', - 'description' => '组织名称,长度限制最长为64字符。', - 'type' => 'string', - 'required' => true, - 'example' => 'name001', - ], - 'parentId' => [ - 'title' => '父机构ID', - 'description' => '父组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitExternalId' => [ - 'title' => '机构外部ID', - 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID,长度限制最长为64字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'description' => [ - 'title' => '描述', - 'description' => '组织描述,长度限制最长为128字符。', - 'type' => 'string', - 'required' => false, - 'example' => '测试组织', - ], + 'instanceId' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'groupId' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'example' => 'group_ufdsasn35ea5lmthk267xxxxx'], + 'groupName' => ['title' => '组名称。', 'description' => '组名称。', 'type' => 'string', 'example' => 'name_test'], + 'description' => ['title' => '组描述。', 'description' => '组描述。', 'type' => 'string', 'example' => 'description_demo'], + 'groupExternalId' => ['title' => '组外部标识。', 'description' => '组外部标识。', 'type' => 'string', 'example' => 'group_ufdsasn35ea5lmthk267xxxxx'], + 'groupSourceType' => ['title' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', 'description' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', 'type' => 'string', 'example' => 'build_in'], + 'groupSourceId' => ['title' => '组来源ID。', 'description' => '组来源ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'createTime' => ['title' => '组创建时间, Unix时间戳格式,单位为毫秒。', 'description' => '组创建时间, Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'updateTime' => ['title' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', 'description' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], ], - 'required' => false, - 'example' => 'app_xx001', ], ], ], + 'title' => '查询一个EIAM组信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupName\\": \\"name_test\\",\\n \\"description\\": \\"description_demo\\",\\n \\"groupExternalId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupSourceType\\": \\"build_in\\",\\n \\"groupSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179\\n}","type":"json"}]', + ], + 'GetOrganizationalUnit' => [ + 'summary' => '调用GetOrganizationalUnit接口,获取指定组织的详细信息。', + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL'], + ], + 'parameters' => [ + [ + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], + ], + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + [ + 'name' => 'applicationId', + 'in' => 'path', + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'organizationalUnitId', + 'in' => 'path', + 'schema' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'OrganizationalUnitIdObject', + 'title' => 'DeveloperOrganizationalUnitDTO', 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'organizationalUnitId' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'organizationalUnitId' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitName' => ['title' => '机构名称', 'description' => '组织名称。', 'type' => 'string', 'example' => 'name001'], + 'parentId' => ['title' => '父机构ID', 'description' => '父组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitExternalId' => ['title' => '外部ID', 'description' => '外部ID。', 'type' => 'string', 'example' => 'id_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitSourceType' => ['title' => '来源类型', 'description' => '来源类型,取值可选范围:'."\n" + .'- build_in - 自建。'."\n" + .'- ding\\_talk - 钉钉导入。'."\n" + .'- ad - AD导入。'."\n" + .'- ldap - LDAP导入。', 'type' => 'string', 'example' => 'build_in'], + 'organizationalUnitSourceId' => ['title' => '来源ID', 'description' => '来源ID。', 'type' => 'string', 'example' => 'id_wovwffm62xifdziem7an7xxxxx'], + 'createTime' => ['title' => '创建时间,毫秒', 'description' => '创建时间,格式为Unix时间戳,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652083425923'], + 'updateTime' => ['title' => '最近一次更新时间,毫秒', 'description' => '最近更新时间,格式为Unix时间戳,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652083425923'], + 'description' => ['title' => '描述', 'description' => '描述。', 'type' => 'string', 'example' => 'xxxxx'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', - 'title' => '创建一个EIAM组织', + 'title' => '查询一个EIAM组织信息', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" - .'| 400 | MissingParameter.OrganizationalUnitName | The specified parameter:OrganizationalUnitName is required! | 缺少组织名称参数|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx| 应用不存在 |'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'PatchOrganizationalUnit' => [ - 'summary' => '调用PatchOrganizationalUnit接口,更新一个EIAM组织信息。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', - 'methods' => [ - 'patch', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"parentId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitExternalId\\": \\"id_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitSourceType\\": \\"build_in\\",\\n \\"organizationalUnitSourceId\\": \\"id_wovwffm62xifdziem7an7xxxxx\\",\\n \\"createTime\\": 1652083425923,\\n \\"updateTime\\": 1652083425923,\\n \\"description\\": \\"xxxxx\\"\\n}","type":"json"}]', + ], + 'GetOrganizationalUnitIdByExternalId' => [ + 'summary' => '调用GetOrganizationalUnitIdByExternalId接口,通过组织外部ID获取组织内部ID。', + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/_/actions/getOrganizationalUnitIdByExternalId', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasZCZ2SC'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'."\n"], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], - ], - [ - 'name' => 'organizationalUnitId', - 'in' => 'path', - 'schema' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数。', + 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'organizationalUnitName' => [ - 'title' => '机构名称', - 'description' => '组织名称,长度限制最长为64字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'name001', - ], - 'description' => [ - 'title' => '机构描述', - 'description' => '组织描述,长度限制最长为128字符。', - 'type' => 'string', - 'required' => false, - 'example' => '测试组织', - ], + 'organizationalUnitExternalId' => ['title' => '组织外部ID', 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID。'."\n" + ."\n" + .'说明:外部ID在同一来源类型和来源ID下唯一。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitSourceType' => ['title' => '组织来源类型, 取值可选范围: build_in(自建), ding_talk(钉钉导入),ad(AD导入),ldap(LDAP导入)', 'description' => '组织来源类型,取值可选范围:'."\n" + .'- build\\_in:自建。'."\n" + .'- ding\\_talk:钉钉导入。'."\n" + .'- ad:AD导入。'."\n" + .'- ldap:LDAP导入。', 'type' => 'string', 'required' => true, 'example' => 'build_in'], + 'organizationalUnitSourceId' => ['title' => '组织来源ID,自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId', 'description' => '组织来源ID。'."\n" + ."\n" + .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], 'required' => false, - 'example' => 'ou_xxx001', + 'example' => 'xxx001', ], ], ], 'responses' => [ - 200 => [], + 200 => [ + 'schema' => [ + 'title' => 'OrganizationalUnitIdObject', + 'description' => 'OrganizationalUnitIdObject', + 'type' => 'object', + 'properties' => [ + 'organizationalUnitId' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '更新一个EIAM组织', - 'description' => '接口符合HTTP Patch方法语义,只修改传入的参数值,不传则默认不修改。', - 'responseParamsDescription' => "\n" - .'> 成功则,默认返回http code为200'."\n", - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" - .'| 400 | ResourceDuplicated.OrganizationalUnitName | The specified OrganizationalUnitName resource: xxx already exist! | 组织名称已存在|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetOrganizationalUnit' => [ - 'summary' => '调用GetOrganizationalUnit接口,获取指定组织的详细信息。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', - 'methods' => [ - 'get', + 'title' => '通过组织外部ID获取组织ID', + 'changeSet' => [ + ['createdAt' => '2022-08-17T12:25:48.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', + ], + 'GetUser' => [ + 'summary' => '调用GetUser接口,查询一个EIAM账户详细信息。', + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'organizationalUnitId', + 'name' => 'userId', 'in' => 'path', - 'schema' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'schema' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DeveloperOrganizationalUnitDTO', + 'title' => 'DeveloperUserDetailDTO', 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'organizationalUnitId' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitName' => [ - 'title' => '机构名称', - 'description' => '组织名称。', - 'type' => 'string', - 'example' => 'name001', - ], - 'parentId' => [ - 'title' => '父机构ID', - 'description' => '父组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitExternalId' => [ - 'title' => '外部ID', - 'description' => '外部ID。', - 'type' => 'string', - 'example' => 'id_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitSourceType' => [ - 'title' => '来源类型', - 'description' => '来源类型,取值可选范围:'."\n" - .'- build_in - 自建。'."\n" - .'- ding\\_talk - 钉钉导入。'."\n" - .'- ad - AD导入。'."\n" - .'- ldap - LDAP导入。', - 'type' => 'string', - 'example' => 'build_in', - ], - 'organizationalUnitSourceId' => [ - 'title' => '来源ID', - 'description' => '来源ID。', - 'type' => 'string', - 'example' => 'id_wovwffm62xifdziem7an7xxxxx', - ], - 'createTime' => [ - 'title' => '创建时间,毫秒', - 'description' => '创建时间,格式为Unix时间戳,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652083425923', + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'organizationalUnits' => [ + 'title' => '账户所属组织列表', + 'description' => '账户所属组织列表。', + 'type' => 'array', + 'items' => [ + 'description' => '组织对象。', + 'type' => 'object', + 'properties' => [ + 'organizationalUnitId' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitName' => ['title' => '机构名称', 'description' => '组织名称。', 'type' => 'string', 'example' => 'name001'], + 'primary' => ['title' => '是否主机构', 'description' => '是否主组织。', 'type' => 'boolean', 'example' => 'true'], + ], + ], ], - 'updateTime' => [ - 'title' => '最近一次更新时间,毫秒', - 'description' => '最近更新时间,格式为Unix时间戳,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652083425923', + 'primaryOrganizationalUnitId' => ['title' => '账户主机构ID', 'description' => '账户主组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'customFields' => [ + 'title' => '账户扩展字段列表', + 'description' => '账户扩展字段列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展字段数据对象。', + 'type' => 'object', + 'properties' => [ + 'fieldName' => ['title' => '字段标识', 'description' => '扩展字段标识。', 'type' => 'string', 'example' => 'xxxx'], + 'fieldValue' => ['title' => '字段数据值', 'description' => '字段数据值。'."\n" + .'任何数据类型的字段值均以字符串的方式返回。比如布尔类型返回的值为"true"或"false"', 'type' => 'string', 'example' => '字段数据值'], + ], + ], ], - 'description' => [ - 'title' => '描述', - 'description' => '描述。', - 'type' => 'string', - 'example' => 'xxxxx', + 'userId' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'username' => ['title' => '账户名', 'description' => '账户名。', 'type' => 'string', 'example' => 'name001'], + 'displayName' => ['title' => '显示名', 'description' => '账户显示名。', 'type' => 'string', 'example' => 'display_name001'], + 'passwordSet' => ['title' => '密码是否已设置', 'description' => '密码是否已设置。', 'type' => 'boolean', 'example' => 'true'], + 'phoneRegion' => ['title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +', 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +。', 'type' => 'string', 'example' => '86'], + 'phoneNumber' => ['title' => '手机号', 'description' => '账户手机号。', 'type' => 'string', 'example' => '156xxxxxxx'], + 'phoneNumberVerified' => ['title' => '手机号是否验证', 'description' => '手机号是否已验证,true表示手机号已经过用户验证或被管理员设置为已验证,false表示未验证。', 'type' => 'boolean', 'example' => 'true'], + 'email' => ['title' => '邮箱', 'description' => '邮箱。', 'type' => 'string', 'example' => 'example@example.com'], + 'emailVerified' => ['title' => '邮箱是否验证', 'description' => '邮箱是否已验证,true表示邮箱已经过用户的验证或被管理员设置为已验证,false表示未验证。', 'type' => 'boolean', 'example' => 'true'], + 'userExternalId' => ['title' => '外部ID', 'description' => '账户外部ID,用于外部数据与IDaaS账户的数据关联映射,默认为IDaaS账户ID。'."\n" + ."\n" + .'说明:外部ID在同一来源类型和来源ID下唯一。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'userSourceType' => ['title' => '来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]', 'description' => '账户来源类型,取值可选范围:'."\n" + .'- build_in:自建。'."\n" + .'- ding_talk:钉钉导入。'."\n" + .'- ad:AD导入。'."\n" + .'- ldap:LDAP导入', 'type' => 'string', 'example' => 'build_in'], + 'userSourceId' => ['title' => '来源ID', 'description' => '账户来源ID。'."\n" + ."\n" + .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'status' => ['title' => '账户状态, enabled:启用,disabled:禁用', 'description' => '账户状态,取值可选范围:'."\n" + .'enabled - 启用中。'."\n" + .'disabled - 禁用中。', 'type' => 'string', 'example' => 'enabled'], + 'accountExpireTime' => ['title' => '账户过期时间, 毫秒时间', 'description' => '账户过期时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'registerTime' => ['description' => '账户注册时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'lockExpireTime' => ['title' => '锁定过期时间, 毫秒时间', 'description' => '账户锁定过期时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'createTime' => ['title' => '创建时间, 毫秒时间', 'description' => '账户创建时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'updateTime' => ['title' => '最近一次更新时间, 毫秒时间', 'description' => '账户最近一次更新时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'description' => ['title' => '账号描述', 'description' => '账户描述。', 'type' => 'string', 'example' => '测试账户'], + 'groups' => [ + 'title' => '账户所属组列表', + 'description' => '账户所属组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '账户所属组对象。', + 'type' => 'object', + 'properties' => [ + 'groupId' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'example' => 'group_ufdsasn35ea5lmthk267xxxxx'], + 'groupName' => ['title' => '组名称。', 'description' => '组名称。', 'type' => 'string', 'example' => 'name_test'], + 'description' => ['title' => '组描述。', 'description' => '组描述。', 'type' => 'string', 'example' => 'description_demo'], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"parentId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitExternalId\\": \\"id_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitSourceType\\": \\"build_in\\",\\n \\"organizationalUnitSourceId\\": \\"id_wovwffm62xifdziem7an7xxxxx\\",\\n \\"createTime\\": 1652083425923,\\n \\"updateTime\\": 1652083425923,\\n \\"description\\": \\"xxxxx\\"\\n}","type":"json"}]', - 'title' => '查询一个EIAM组织信息', + 'title' => '查询一个EIAM账户详细信息', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" + .'| 400 | MissingParameter.xxxx | The specified parameter:xxx is required! | 缺少xxxx参数 |'."\n" + .'| 400 | InvalidParameter.xxxx | The specified parameter:xxxx is required! | xxxx参数无效 |'."\n" + .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:read_all] | 缺少API授权信息 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'DeleteOrganizationalUnit' => [ - 'summary' => '调用DeleteOrganizationalUnit接口,删除指定组织。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-04-16T14:35:21.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-11-18T04:15:26.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-08-18T08:41:27.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnits\\": [\\n {\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"primary\\": true\\n }\\n ],\\n \\"primaryOrganizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"customFields\\": [\\n {\\n \\"fieldName\\": \\"xxxx\\",\\n \\"fieldValue\\": \\"字段数据值\\"\\n }\\n ],\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"username\\": \\"name001\\",\\n \\"displayName\\": \\"display_name001\\",\\n \\"passwordSet\\": true,\\n \\"phoneRegion\\": \\"86\\",\\n \\"phoneNumber\\": \\"156xxxxxxx\\",\\n \\"phoneNumberVerified\\": true,\\n \\"email\\": \\"example@example.com\\",\\n \\"emailVerified\\": true,\\n \\"userExternalId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"userSourceType\\": \\"build_in\\",\\n \\"userSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"accountExpireTime\\": 1652085686179,\\n \\"registerTime\\": 1652085686179,\\n \\"lockExpireTime\\": 1652085686179,\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179,\\n \\"description\\": \\"测试账户\\",\\n \\"groups\\": [\\n {\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupName\\": \\"name_test\\",\\n \\"description\\": \\"description_demo\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetUserIdByEmail' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByEmail', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij'."\n", - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'organizationalUnitId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'email' => ['title' => '邮箱', 'description' => '账户邮箱。', 'type' => 'string', 'required' => true, 'example' => 'example@example.com'], + ], + 'required' => false, ], ], ], 'responses' => [ - 200 => [], + 200 => [ + 'schema' => [ + 'title' => '响应结果', + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'userId' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '删除一个EIAM组织', + 'title' => '通过邮箱获取EIAM账户ID', + 'summary' => '调用GetUserIdByEmail接口,通过邮箱获取EIAM对应账户ID。', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内或不存在|'."\n" + .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 400 | MissingParameter.Email | The specified parameter: Email is required! | 缺少Email参数 |'."\n" + .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'ListOrganizationalUnits' => [ - 'summary' => '分页查询EIAM的组织信息。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-08-17T12:25:48.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', + ], + 'GetUserIdByPhoneNumber' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByPhoneNumber', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij'."\n", - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'."\n"], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], - ], - [ - 'name' => 'parentId', - 'in' => 'query', - 'schema' => [ - 'title' => '父机构ID', - 'description' => '父组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '页码,默认1', - 'description' => '页码,默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'pageSize', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '单页大小,默认20', - 'description' => '单页大小读取记录数,默认20,范围为1~100。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'phoneNumber' => ['title' => '手机号', 'description' => '账户手机号。', 'type' => 'string', 'required' => true, 'example' => '156xxxxxxx'], + ], 'required' => false, - 'example' => '20', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'GeneralDataListResponse', + 'title' => '响应结果', 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'totalCount' => [ - 'title' => '记录总数', - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'data' => [ - 'description' => '返回数据对象列表。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据对象。', - 'type' => 'object', - 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'organizationalUnitId' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitName' => [ - 'title' => '机构名称', - 'description' => '组织名称。', - 'type' => 'string', - 'example' => 'name001', - ], - 'parentId' => [ - 'title' => '父机构ID', - 'description' => '父组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitExternalId' => [ - 'title' => '外部ID', - 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID。'."\n" - ."\n" - .'说明:外部ID在同一来源类型和来源ID下唯一。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitSourceType' => [ - 'title' => '来源类型', - 'description' => '组织来源类型,取值可选范围:'."\n" - .'- build\\_in:自建。'."\n" - .'- ding\\_talk:钉钉导入。'."\n" - .'- ad:AD导入。'."\n" - .'- ldap:LDAP导入。', - 'type' => 'string', - 'example' => 'build_in', - ], - 'organizationalUnitSourceId' => [ - 'title' => '来源ID', - 'description' => '组织来源ID。'."\n" - ."\n" - .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'createTime' => [ - 'title' => '创建时间,毫秒', - 'description' => '组织创建时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652083425923', - ], - 'updateTime' => [ - 'title' => '最近一次更新时间,毫秒', - 'description' => '组织最近更新时间,Unix时间戳格式,单位为毫秒。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652083425923', - ], - 'description' => [ - 'title' => '描述', - 'description' => '组织描述。', - 'type' => 'string', - 'example' => '测试组织', - ], - ], - ], - ], + 'userId' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"parentId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitExternalId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitSourceType\\": \\"build_in\\",\\n \\"organizationalUnitSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652083425923,\\n \\"updateTime\\": 1652083425923,\\n \\"description\\": \\"测试组织\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '列表查询EIAM组织列表信息', - 'description' => '当您需要获取根组织下的直接子组织时,请求参数应设置为:'."\n" - ."\n" - .'```'."\n" - .'{'."\n" - .' "parentOrganizationalUnitId": "ou_root"'."\n" - .'}'."\n" - .'```', + 'title' => '通过手机号获取EIAM账户ID', + 'summary' => '调用GetUserIdByPhoneNumber接口,通过手机号获取EIAM对应账户ID。', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 400 | MissingParameter.PhoneNumber| The specified parameter: PhoneNumber is required! | 缺少Email参数 |'."\n" + .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'ListOrganizationalUnitParentIds' => [ - 'summary' => '调用ListOrganizationalUnitParentIds接口,查询指定组织所有先代节点信息。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}/parentIds', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-08-17T12:25:48.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', + ], + 'GetUserIdByUserExternalId' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByExternalId', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'organizationalUnitId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'userExternalId' => ['title' => '账户外部ID', 'description' => '账户外部ID。', 'type' => 'string', 'required' => true, 'example' => 'xxx001'], + 'userSourceType' => ['title' => '账户来源类型, 取值可选范围: build_in(自建), ding_talk(钉钉导入),ad(AD导入),ldap(LDAP导入)', 'description' => '账户来源类型,取值可选范围:'."\n" + .'- build_in:自建。'."\n" + .'- ding_talk:钉钉导入。'."\n" + .'- ad:AD导入。'."\n" + .'- ldap:LDAP导入', 'type' => 'string', 'required' => true, 'example' => 'build_in'], + 'userSourceId' => ['title' => '账户来源ID,自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId', 'description' => '账户来源ID。'."\n" + .'自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], + 'required' => false, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '父机构列表响应结果', + 'title' => '响应结果', 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'parentIds' => [ - 'title' => '父机构ID列表,顺序层级从上到下', - 'description' => '先代组织ID列表,顺序层级从上到下,只展示在授权范围内的组织ID。', - 'type' => 'array', - 'items' => [ - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'example' => '[ou_xxx001]', - ], + 'userId' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"parentIds\\": [\\n \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n ]\\n}","type":"json"}]', - 'title' => '列表查询组织先代节点', + 'title' => '通过账户外部ID获取EIAM账户ID', + 'summary' => '调用GetUserIdByUserExternalId接口,通过账户外部ID获取EIAM账户ID。', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" + .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 400 | MissingParameter.UserExternalId | The specified parameter: UserExternalId is required! | 缺少UserExternalId参数 |'."\n" + .'| 400 | MissingParameter.UserSourceType | The specified parameter: UserSourceType is required! | 缺少UserSourceType参数 |'."\n" + .'| 400 | MissingParameter.UserSourceId | The specified parameter: UserSourceId is required! | 缺少UserSourceId参数 |'."\n" + .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetOrganizationalUnitIdByExternalId' => [ - 'summary' => '调用GetOrganizationalUnitIdByExternalId接口,通过组织外部ID获取组织内部ID。', - 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/_/actions/getOrganizationalUnitIdByExternalId', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-08-17T12:25:48.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', + ], + 'GetUserIdByUsername' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByUsername', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij'."\n", - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'body', @@ -2119,1123 +2434,549 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'organizationalUnitExternalId' => [ - 'title' => '组织外部ID', - 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID。'."\n" - ."\n" - .'说明:外部ID在同一来源类型和来源ID下唯一。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitSourceType' => [ - 'title' => '组织来源类型, 取值可选范围: build_in(自建), ding_talk(钉钉导入),ad(AD导入),ldap(LDAP导入)', - 'description' => '组织来源类型,取值可选范围:'."\n" - .'- build\\_in:自建。'."\n" - .'- ding\\_talk:钉钉导入。'."\n" - .'- ad:AD导入。'."\n" - .'- ldap:LDAP导入。', - 'type' => 'string', - 'required' => true, - 'example' => 'build_in', - ], - 'organizationalUnitSourceId' => [ - 'title' => '组织来源ID,自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId', - 'description' => '组织来源ID。'."\n" - ."\n" - .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'username' => ['title' => '账户名。', 'description' => '账户名。', 'type' => 'string', 'required' => true, 'example' => 'username_001'], ], 'required' => false, - 'example' => 'xxx001', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'OrganizationalUnitIdObject', - 'description' => 'OrganizationalUnitIdObject', + 'title' => '响应结果', + 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'organizationalUnitId' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'userId' => ['title' => '账户ID。', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', - 'title' => '通过组织外部ID获取组织ID', - ], - 'CreateUser' => [ - 'summary' => '调用CreateUser接口在指定组织下,创建新的EIAM的账户资源。', - 'path' => '/v2/{instanceId}/{applicationId}/users', - 'methods' => [ - 'post', + 'title' => '通过账户名获取EIAM账户ID', + 'summary' => '调用GetUserIdByUsername接口,通过账户名获取EIAM对应账户ID。', + 'changeSet' => [ + ['createdAt' => '2022-09-01T08:18:48.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', + ], + 'GetUserInfo' => [ + 'summary' => '调用GetUserInfo接口,通过用户token获取账户信息。', + 'path' => '/v2/{instanceId}/{applicationId}/oauth2/userinfo', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ - 'name' => 'Authorization', - 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], - ], - [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求body。', - 'type' => 'object', - 'properties' => [ - 'username' => [ - 'title' => '账户名称。', - 'description' => '账户名称,可包含英文字母、数字、符号“_” 、“ .”、“@”、“-”,长度最大限制64字符。', - 'type' => 'string', - 'required' => true, - 'example' => 'name001', - ], - 'displayName' => [ - 'title' => '账户展示名。', - 'description' => '账户展示名。长度限制最长为64字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'display_name001', - ], - 'password' => [ - 'title' => '密码, 参考密码策略', - 'description' => '账户密码,密码规则参考IDaaS控制台密码策略。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxx', - ], - 'phoneRegion' => [ - 'title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填', - 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填。', - 'type' => 'string', - 'required' => false, - 'example' => '86', - ], - 'phoneNumber' => [ - 'title' => '手机号', - 'description' => '账户手机号,格式为6~15位数字。', - 'type' => 'string', - 'required' => false, - 'example' => '156xxxxxxx', - ], - 'phoneNumberVerified' => [ - 'title' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true', - 'description' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'email' => [ - 'title' => '邮箱', - 'description' => '邮箱,邮箱前缀可包含大写英文字母、小写英文字母、数字、点、下划线或中划线,长度限制最长为64字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'example@example.com', - ], - 'emailVerified' => [ - 'title' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true', - 'description' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'userExternalId' => [ - 'title' => '账户外部ID', - 'description' => '账户外部ID,用于与外部系统的关联,最大长度限制64字符,若不设置,默认设置为账户ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'primaryOrganizationalUnitId' => [ - 'title' => '账户主机构ID', - 'description' => '主组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'description' => [ - 'title' => '描述', - 'description' => '账户描述,长度限制最长为256字符。', - 'type' => 'string', - 'required' => false, - 'example' => '测试账户', - ], - 'passwordInitializationConfig' => [ - 'title' => '密码初始化配置', - 'description' => '密码初始化配置。', - 'type' => 'object', - 'properties' => [ - 'passwordInitializationPolicyPriority' => [ - 'title' => '密码初始化策略优先级,不传不生效。枚举取值:global(全局优先)、custom(自定义优先)', - 'description' => '密码初始化策略优先级,默认不生效,取值可选范围:'."\n" - .'- global:全局优先,采用实例级别的密码初始化策略,即本次设置的密码初始化策略均无效,参考密码相关策略的密码初始化策略。'."\n" - .'- custom:自定义优先,以当前定义的密码初始化策略为准,包括是否开启强制改密、密码初始化方式以及通知渠道。', - 'type' => 'string', - 'required' => false, - 'example' => 'global', - ], - 'passwordForcedUpdateStatus' => [ - 'title' => '强制修改密码状态,默认不启用。枚举取值:enabled(开启)、disabled(禁用)', - 'description' => '强制修改密码状态,默认不启用,取值可选范围:'."\n" - .'- enabled:开启。'."\n" - .'- disabled:禁用。', - 'type' => 'string', - 'required' => false, - 'example' => 'enabled', - ], - 'userNotificationChannels' => [ - 'title' => '密码通知渠道。枚举取值:email(邮件)、sms(短信)', - 'description' => '密码通知渠道,取值可选范围:'."\n" - .'- email:邮件。'."\n" - .'- sms:短信。', - 'type' => 'array', - 'items' => [ - 'description' => '密码通知渠道。', - 'type' => 'string', - 'required' => false, - 'example' => 'email', - ], - 'required' => false, - 'example' => 'sms', - ], - 'passwordInitializationType' => [ - 'title' => '密码初始化方式。枚举取值:random(随机)', - 'description' => '密码初始化方式,取值可选范围:'."\n" - .'- random:随机。', - 'type' => 'string', - 'required' => false, - 'example' => 'random', - ], - ], - 'required' => false, - ], - 'customFields' => [ - 'title' => '扩展字段列表', - 'description' => '账户扩展字段列表。', - 'type' => 'array', - 'items' => [ - 'description' => '扩展字段标识和值对象。', - 'type' => 'object', - 'properties' => [ - 'fieldName' => [ - 'title' => '扩展字段标识', - 'description' => '扩展字段标识。类型和值域可通过控制台查看对应扩展字段值的详细信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'age', - ], - 'fieldValue' => [ - 'title' => '扩展字段值', - 'description' => '扩展字段值。', - 'type' => 'string', - 'required' => false, - 'example' => 'fieldValue_001', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - 'example' => 'app_xx001', - ], + 'name' => 'Authorization', + 'in' => 'header', + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '调用CreateUser接口在指定组织下,创建新的EIAM的账户资源', + 'title' => 'Map', 'description' => '响应结果。', 'type' => 'object', - 'properties' => [ - 'userId' => [ - 'title' => '账户ID。', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - ], + 'additionalProperties' => ['type' => 'any', 'description' => '账户信息', 'example' => '无'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', - 'title' => '创建一个EIAM账户', + 'title' => '获取账户信息', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" - .'| 400 | invalid_request | Access token application id not match | 请求无效,token信息与参数应用ID不一致|'."\n" - .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不存在或组织不在同步范围内|'."\n" - .'| 404 | instance\\_not\\_found | Instance id not found: idaas_ue2jvisn35ea5lmthk267xxxxx | 实例不存在 |'."\n" + .'| 400 | invalid\\_request | Application is not OIDC application| 非OIDC应用 |'."\n" + .'| 400 | invalid\\_token | Invalid token| token无效 |'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" - .'| 400 | MissingParameter.Username | The specified parameter:Username is required! | 缺少账户名参数 |'."\n" - .'| 400 | MissingParameter.PhoneRegion | The specified parameter:PhoneRegion is required! | 缺少手机区号参数,若已设置手机号,此为必填项 |'."\n" - .'| 400 | MissingParameter.PhoneNumberVerified | The specified parameter:PhoneRegion is required! | 缺少手机区号是否已验证参数,若已设置手机号,此为必填项 |'."\n" - .'| 400 | MissingParameter.Email | The specified parameter:Email is required! | 缺少邮箱是否已验证参数,若已设置邮箱,此为必填项 |'."\n" - .'| 400 | MissingParameter.Username | The specified parameter:Username is required! | 缺少账户名参数 |'."\n" - .'| 400 | MissingParameter.PrimaryOrganizationalUnitId | The specified parameter:PrimaryOrganizationalUnitId is required! | 缺少主组织参数 |'."\n" - .'| 400 | InvalidParameter.PhoneNumber | The specified parameter:PhoneNumber is invalid. | 无效的手机号 |'."\n" - .'| 400 | InvalidParameter.PhoneRegion | The specified parameter:PhoneRegion is invalid. | 无效的手机区号 |'."\n" - .'| 400 | InvalidParameter.Password | The specified parameter:Password is invalid. | 密码不符合规则,请参考IDaaS控制台密码规则 |'."\n" - .'| 400 | InvalidParameter.Email | The specified parameter:Email is invalid. | 无效的邮箱 |'."\n" - .'| 400 | InvalidParameter.DisplayName | The specified parameter:DisplayName is invalid. | 账户显示名过长 |'."\n" - .'| 400 | InvalidParameter.Description | The specified parameter:Description is invalid. | 账户描述过长 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'PatchUser' => [ - 'summary' => '调用PatchUser接口,更新一个EIAM账户信息。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', - 'methods' => [ - 'patch', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"key\\": \\"无\\"\\n}","type":"json"}]', + ], + 'ListAuthenticationTokens' => [ + 'summary' => '列举认证令牌。', + 'path' => '/v2/{instanceId}/authenticationTokens', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['title' => '分页查询,下一页的起始位置索引Token。', 'description' => '分页查询,下一页的起始位置索引Token。', 'type' => 'string', 'required' => false, 'example' => 'NTxxxxxexample'], ], [ - 'name' => 'userId', - 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['title' => '分页查询,本次查询返回的最大记录数。', 'description' => '分页查询,本次查询返回的最大记录数。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'default' => '20'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'consumerId', + 'in' => 'query', + 'schema' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'required' => true, 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + ], + [ + 'name' => 'credentialProviderIdentifier', + 'in' => 'query', + 'schema' => ['title' => '凭据提供商的业务标识。', 'description' => '凭据提供商标识。', 'type' => 'string', 'required' => true, 'example' => 'test_example_identifier'], + ], + [ + 'name' => 'revoked', + 'in' => 'query', + 'schema' => ['title' => '认证令牌是否已吊销。', 'description' => '认证令牌是否已吊销。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'expired', + 'in' => 'query', + 'schema' => ['title' => '认证令牌是否已过期。', 'description' => '认证令牌是否已过期。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求body。', + 'description' => '分页查询结果。', 'type' => 'object', 'properties' => [ - 'username' => [ - 'title' => '账户名', - 'description' => '账户名。', - 'type' => 'string', - 'required' => false, - 'example' => 'name001', - ], - 'displayName' => [ - 'title' => '账户展示名', - 'description' => '账户展示名。', - 'type' => 'string', - 'required' => false, - 'example' => 'display_name001', - ], - 'phoneRegion' => [ - 'title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填', - 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填。', - 'type' => 'string', - 'required' => false, - 'example' => '86', - ], - 'phoneNumber' => [ - 'title' => '手机号', - 'description' => '账户手机号。', - 'type' => 'string', - 'required' => false, - 'example' => '156xxxxxxx', - ], - 'phoneNumberVerified' => [ - 'title' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true', - 'description' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'email' => [ - 'title' => '邮箱', - 'description' => '账户邮箱。', - 'type' => 'string', - 'required' => false, - 'example' => 'example@example.com', - ], - 'emailVerified' => [ - 'title' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true', - 'description' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'customFields' => [ - 'title' => '扩展字段列表', - 'description' => '账户扩展字段列表。', + 'entities' => [ + 'title' => '资源实体列表。', + 'description' => '资源实体列表。', 'type' => 'array', 'items' => [ - 'description' => '扩展字段更新操作对象。', + 'title' => '资源实体。', + 'description' => '认证令牌详情。', 'type' => 'object', 'properties' => [ - 'operator' => [ - 'description' => '字段操作类型,已废弃,请采用operation替换使用。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'replace', - ], - 'fieldName' => [ - 'title' => '扩展字段标识', - 'description' => '扩展字段标识,类型和值域可通过控制台查看对应扩展字段值的详细信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'age', - ], - 'fieldValue' => [ - 'title' => '扩展字段值', - 'description' => '扩展字段值。', - 'type' => 'string', - 'required' => false, - 'example' => 'test_value', - ], - 'operation' => [ - 'description' => '字段操作类型,取值可选范围:'."\n" - .'- add:添加。'."\n" - .'- replace:替换。若对应扩展字段无设置值,会转换为add操作。'."\n" - .'- remove:移除。', - 'type' => 'string', - 'required' => false, - 'example' => 'replace', - ], + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => '实例 ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌 ID。', 'type' => 'string', 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], + 'credentialProviderId' => ['title' => '凭据提供商的ID。', 'description' => '凭据提供商 ID。', 'type' => 'string', 'example' => 'atp_01kr2cmj5gxxx4fvmls2e93dxxxxx'], + 'createTime' => ['title' => '认证令牌的创建时间,Unix时间戳。', 'description' => '认证令牌的创建时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '认证令牌的更新时间,Unix时间戳。', 'description' => '认证令牌的更新时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'authenticationTokenType' => ['title' => '认证令牌的类型。', 'description' => '认证令牌类型。取值可选范围:'."\n" + ."\n" + .'- jwt:JWT认证令牌'."\n" + .'- oauth_access_token:OAuth Access Token认证令牌', 'type' => 'string', 'example' => 'jwt'], + 'revoked' => ['title' => '认证令牌是否被吊销。', 'description' => '认证令牌是否被吊销。', 'type' => 'boolean', 'example' => 'false'], + 'creatorType' => ['title' => '认证令牌的创建者类型。', 'description' => '认证令牌创建者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用', 'type' => 'string', 'example' => 'application'], + 'creatorId' => ['title' => '认证令牌的创建者ID。', 'description' => '认证令牌创建者 ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'consumerType' => ['title' => '认证令牌的使用者类型。', 'description' => '认证令牌使用者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用'."\n" + .'- custom:自定义类型', 'type' => 'string', 'example' => 'custom'], + 'consumerId' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'example' => 'test_jwt_subject'], + 'expirationTime' => ['title' => '认证令牌的过期时间,Unix时间戳,单位秒。', 'description' => '认证令牌过期时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1772693568000'], ], - 'required' => false, ], - 'required' => false, ], + 'totalCount' => ['title' => '符合查询条件的资源实体总数。', 'description' => '符合查询条件的资源实体总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'nextToken' => ['title' => '本次调用返回的查询凭证(Token)值,用于下一次翻页查询(下一页的起始位置索引Token)。', 'description' => '本次调用返回的查询凭证(Token)值,用于下一次翻页查询(下一页的起始位置索引Token)。', 'type' => 'string', 'example' => 'NTxxxexample'], + 'maxResults' => ['title' => '本次查询返回的最大记录数', 'description' => '本次查询返回的最大记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], ], - 'required' => false, - 'example' => 'user_001', ], ], ], - 'responses' => [ - 200 => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '列举认证令牌', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“查询认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:read`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '更新一个EIAM账户信息', - 'description' => '接口符合HTTP Patch方法语义,只修改传入的参数值,不传则默认不修改。', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | MissingParameter.xxxx | The specified parameter:xxx is required! | 缺少xxxx参数 |'."\n" - .'| 400 | InvalidParameter.xxxx | The specified parameter:xxxx is required! | xxxx参数无效 |'."\n" - .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"entities\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"authenticationTokenId\\": \\"atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx\\",\\n \\"credentialProviderId\\": \\"atp_01kr2cmj5gxxx4fvmls2e93dxxxxx\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830225000,\\n \\"authenticationTokenType\\": \\"jwt\\",\\n \\"revoked\\": false,\\n \\"creatorType\\": \\"application\\",\\n \\"creatorId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"consumerType\\": \\"custom\\",\\n \\"consumerId\\": \\"test_jwt_subject\\",\\n \\"expirationTime\\": 1772693568000\\n }\\n ],\\n \\"totalCount\\": 100,\\n \\"nextToken\\": \\"NTxxxexample\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', ], - 'GetUser' => [ - 'summary' => '调用GetUser接口,查询一个EIAM账户详细信息。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListGroups' => [ + 'summary' => '调用ListGroups接口,分页查询EIAM组信息。', + 'path' => '/v2/{instanceId}/{applicationId}/groups', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas1LGU5E'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', - 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'name' => 'groupNameStartWith', + 'in' => 'query', + 'schema' => ['title' => '组名称前缀', 'description' => '组名称前缀', 'type' => 'string', 'required' => false, 'example' => 'group_xxx'], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['title' => 'nextToken', 'description' => 'nextToken', 'type' => 'string', 'required' => false, 'example' => 'NTxxx'], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['title' => '单页大小,默认20', 'description' => '单页大小,默认20', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DeveloperUserDetailDTO', - 'description' => '响应结果。', + 'title' => 'DeveloperNextTokenResponse', + 'description' => 'DeveloperNextTokenResponse', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'organizationalUnits' => [ - 'title' => '账户所属组织列表', - 'description' => '账户所属组织列表。', - 'type' => 'array', - 'items' => [ - 'description' => '组织对象。', - 'type' => 'object', - 'properties' => [ - 'organizationalUnitId' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'organizationalUnitName' => [ - 'title' => '机构名称', - 'description' => '组织名称。', - 'type' => 'string', - 'example' => 'name001', - ], - 'primary' => [ - 'title' => '是否主机构', - 'description' => '是否主组织。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'primaryOrganizationalUnitId' => [ - 'title' => '账户主机构ID', - 'description' => '账户主组织ID。', - 'type' => 'string', - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'customFields' => [ - 'title' => '账户扩展字段列表', - 'description' => '账户扩展字段列表。', - 'type' => 'array', - 'items' => [ - 'description' => '扩展字段数据对象。', - 'type' => 'object', - 'properties' => [ - 'fieldName' => [ - 'title' => '字段标识', - 'description' => '扩展字段标识。', - 'type' => 'string', - 'example' => 'xxxx', - ], - 'fieldValue' => [ - 'title' => '字段数据值', - 'description' => '字段数据值。'."\n" - .'任何数据类型的字段值均以字符串的方式返回。比如布尔类型返回的值为"true"或"false"', - 'type' => 'string', - 'example' => '字段数据值', - ], - ], - ], - ], - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'username' => [ - 'title' => '账户名', - 'description' => '账户名。', - 'type' => 'string', - 'example' => 'name001', - ], - 'displayName' => [ - 'title' => '显示名', - 'description' => '账户显示名。', - 'type' => 'string', - 'example' => 'display_name001', - ], - 'passwordSet' => [ - 'title' => '密码是否已设置', - 'description' => '密码是否已设置。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'phoneRegion' => [ - 'title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +', - 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +。', - 'type' => 'string', - 'example' => '86', - ], - 'phoneNumber' => [ - 'title' => '手机号', - 'description' => '账户手机号。', - 'type' => 'string', - 'example' => '156xxxxxxx', - ], - 'phoneNumberVerified' => [ - 'title' => '手机号是否验证', - 'description' => '手机号是否已验证,true表示手机号已经过用户验证或被管理员设置为已验证,false表示未验证。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'email' => [ - 'title' => '邮箱', - 'description' => '邮箱。', - 'type' => 'string', - 'example' => 'example@example.com', - ], - 'emailVerified' => [ - 'title' => '邮箱是否验证', - 'description' => '邮箱是否已验证,true表示邮箱已经过用户的验证或被管理员设置为已验证,false表示未验证。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'userExternalId' => [ - 'title' => '外部ID', - 'description' => '账户外部ID,用于外部数据与IDaaS账户的数据关联映射,默认为IDaaS账户ID。'."\n" - ."\n" - .'说明:外部ID在同一来源类型和来源ID下唯一。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'userSourceType' => [ - 'title' => '来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]', - 'description' => '账户来源类型,取值可选范围:'."\n" - .'- build_in:自建。'."\n" - .'- ding_talk:钉钉导入。'."\n" - .'- ad:AD导入。'."\n" - .'- ldap:LDAP导入', - 'type' => 'string', - 'example' => 'build_in', - ], - 'userSourceId' => [ - 'title' => '来源ID', - 'description' => '账户来源ID。'."\n" - ."\n" - .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'status' => [ - 'title' => '账户状态, enabled:启用,disabled:禁用', - 'description' => '账户状态,取值可选范围:'."\n" - .'enabled - 启用中。'."\n" - .'disabled - 禁用中。', - 'type' => 'string', - 'example' => 'enabled', - ], - 'accountExpireTime' => [ - 'title' => '账户过期时间, 毫秒时间', - 'description' => '账户过期时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'registerTime' => [ - 'description' => '账户注册时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'lockExpireTime' => [ - 'title' => '锁定过期时间, 毫秒时间', - 'description' => '账户锁定过期时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'createTime' => [ - 'title' => '创建时间, 毫秒时间', - 'description' => '账户创建时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'updateTime' => [ - 'title' => '最近一次更新时间, 毫秒时间', - 'description' => '账户最近一次更新时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'description' => [ - 'title' => '账号描述', - 'description' => '账户描述。', - 'type' => 'string', - 'example' => '测试账户', - ], - 'groups' => [ - 'title' => '账户所属组列表', - 'description' => '账户所属组列表。', + 'totalCount' => ['description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'data' => [ + 'description' => '返回数据对象。', 'type' => 'array', 'items' => [ - 'description' => '账户所属组对象。', + 'description' => '返回数据对象。', 'type' => 'object', 'properties' => [ - 'groupId' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'example' => 'group_ufdsasn35ea5lmthk267xxxxx', - ], - 'groupName' => [ - 'title' => '组名称。', - 'description' => '组名称。', - 'type' => 'string', - 'example' => 'name_test', - ], - 'description' => [ - 'title' => '组描述。', - 'description' => '组描述。', - 'type' => 'string', - 'example' => 'description_demo', - ], + 'instanceId' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'groupId' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'example' => 'group_ufdsasn35ea5lmthk267xxxxx'], + 'groupName' => ['title' => '组名称。', 'description' => '组名称。', 'type' => 'string', 'example' => 'name_test'], + 'description' => ['title' => '组描述。', 'description' => '组描述。', 'type' => 'string', 'example' => 'description_demo'], + 'groupExternalId' => ['title' => '组外部标识。', 'description' => '组外部标识。', 'type' => 'string', 'example' => 'group_ufdsasn35ea5lmthk267xxxxx'], + 'groupSourceType' => ['title' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', 'description' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', 'type' => 'string', 'example' => 'build_in'], + 'groupSourceId' => ['title' => '组来源ID。', 'description' => '组来源ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'createTime' => ['title' => '组创建时间, Unix时间戳格式,单位为毫秒。', 'description' => '组创建时间, Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'updateTime' => ['title' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', 'description' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], ], ], ], + 'nextToken' => ['description' => '用来标记当前开始读取的位置,置空表示从头开始', 'type' => 'string', 'example' => 'NTxxx'], + 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnits\\": [\\n {\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"primary\\": true\\n }\\n ],\\n \\"primaryOrganizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"customFields\\": [\\n {\\n \\"fieldName\\": \\"xxxx\\",\\n \\"fieldValue\\": \\"字段数据值\\"\\n }\\n ],\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"username\\": \\"name001\\",\\n \\"displayName\\": \\"display_name001\\",\\n \\"passwordSet\\": true,\\n \\"phoneRegion\\": \\"86\\",\\n \\"phoneNumber\\": \\"156xxxxxxx\\",\\n \\"phoneNumberVerified\\": true,\\n \\"email\\": \\"example@example.com\\",\\n \\"emailVerified\\": true,\\n \\"userExternalId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"userSourceType\\": \\"build_in\\",\\n \\"userSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"accountExpireTime\\": 1652085686179,\\n \\"registerTime\\": 1652085686179,\\n \\"lockExpireTime\\": 1652085686179,\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179,\\n \\"description\\": \\"测试账户\\",\\n \\"groups\\": [\\n {\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupName\\": \\"name_test\\",\\n \\"description\\": \\"description_demo\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询一个EIAM账户详细信息', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 400 | MissingParameter.xxxx | The specified parameter:xxx is required! | 缺少xxxx参数 |'."\n" - .'| 400 | InvalidParameter.xxxx | The specified parameter:xxxx is required! | xxxx参数无效 |'."\n" - .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:read_all] | 缺少API授权信息 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'UpdateUserPassword' => [ - 'summary' => '更新指定EIAM账户的密码信息。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/updateUserPassword', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '列表查询EIAM组信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupName\\": \\"name_test\\",\\n \\"description\\": \\"description_demo\\",\\n \\"groupExternalId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupSourceType\\": \\"build_in\\",\\n \\"groupSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', + ], + 'ListGroupsForUser' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/listGroupsForUser', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'userId', 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['title' => 'nextToken', 'description' => 'nextToken', 'type' => 'string', 'required' => false, 'example' => 'NTxxx'], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['title' => '单页大小,默认20', 'description' => '单页大小,默认20', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求body。', + 'title' => 'DeveloperNextTokenResponse', + 'description' => 'DeveloperNextTokenResponse', 'type' => 'object', 'properties' => [ - 'password' => [ - 'title' => '密码', - 'description' => '新密码,相关规则参考控制台密码策略说明。', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxx', + 'totalCount' => ['description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'data' => [ + 'description' => '返回数据对象。', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据对象。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'groupId' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'groupMemberRelationSourceId' => ['title' => '账户成员关系来源ID', 'description' => '账户成员关系来源ID', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'groupMemberRelationSourceType' => ['title' => '账户成员关系来源类型', 'description' => '账户成员关系来源类型', 'type' => 'string', 'example' => 'build_in'], + ], + ], ], + 'nextToken' => ['description' => '下一次查询的token,为空表示最后一页', 'type' => 'string', 'example' => 'NTxxx'], + 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], ], - 'required' => false, ], ], ], - 'responses' => [ - 200 => [], + 'title' => '查询一个EIAM账户的组列表', + 'summary' => '查询一个EIAM账户所属的组列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '更新一个EIAM账户的密码', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"groupMemberRelationSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupMemberRelationSourceType\\": \\"build_in\\"\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', ], - 'DeleteUser' => [ - 'summary' => '调用DeleteUser接口,删除一个EIAM账户信息。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListOrganizationalUnitParentIds' => [ + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}/parentIds', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', + 'name' => 'organizationalUnitId', 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'schema' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], ], ], 'responses' => [ - 200 => [], + 200 => [ + 'schema' => [ + 'title' => '父机构列表响应结果', + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'parentIds' => [ + 'title' => '父机构ID列表,顺序层级从上到下', + 'description' => '先代组织ID列表,顺序层级从上到下,只展示在授权范围内的组织ID。', + 'type' => 'array', + 'items' => ['description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'example' => '[ou_xxx001]', + ], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '删除一个EIAM账户', + 'title' => '列表查询组织先代节点', + 'summary' => '调用ListOrganizationalUnitParentIds接口,查询指定组织所有先代节点信息。', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'ListUsers' => [ - 'summary' => '调用ListUsers接口,分页查询EIAM账户信息。', - 'path' => '/v2/{instanceId}/{applicationId}/users', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"parentIds\\": [\\n \\"ou_wovwffm62xifdziem7an7xxxxx\\"\\n ]\\n}","type":"json"}]', + ], + 'ListOrganizationalUnits' => [ + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasZCZ2SC'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'."\n"], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'organizationalUnitId', + 'name' => 'parentId', 'in' => 'query', - 'schema' => [ - 'title' => '机构ID', - 'description' => '组织ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'schema' => ['title' => '父机构ID', 'description' => '父组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], ], [ 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'title' => '页码,默认1', - 'description' => '页码,默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '页码,默认1', 'description' => '页码,默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'title' => '单页大小,默认20', - 'description' => '单页大小读取记录数,默认20,范围为1~100。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['title' => '单页大小,默认20', 'description' => '单页大小读取记录数,默认20,范围为1~100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '查询账户列表响应结果', + 'title' => 'GeneralDataListResponse', 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'totalCount' => [ - 'title' => '记录总数', - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], + 'totalCount' => ['title' => '记录总数', 'description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], 'data' => [ 'description' => '返回数据对象列表。', 'type' => 'array', @@ -3243,143 +2984,25 @@ 'description' => '返回数据对象。', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'username' => [ - 'title' => '账户名', - 'description' => '账户名。', - 'type' => 'string', - 'example' => 'name001', - ], - 'displayName' => [ - 'title' => '显示名', - 'description' => '账户显示名。', - 'type' => 'string', - 'example' => 'display_name001', - ], - 'passwordSet' => [ - 'title' => '密码是否已设置', - 'description' => '密码是否已设置', - 'type' => 'boolean', - 'example' => 'true', - ], - 'phoneRegion' => [ - 'title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +', - 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +。', - 'type' => 'string', - 'example' => '86', - ], - 'phoneNumber' => [ - 'title' => '手机号', - 'description' => '账户手机号。', - 'type' => 'string', - 'example' => '156xxxxxxx', - ], - 'phoneNumberVerified' => [ - 'title' => '手机号是否验证', - 'description' => '手机号是否已验证,true表示手机号已经过用户验证或被管理员设置为已验证,false表示未验证。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'email' => [ - 'title' => '邮箱', - 'description' => '账户邮箱。', - 'type' => 'string', - 'example' => 'example@example.com', - ], - 'emailVerified' => [ - 'title' => '邮箱是否验证', - 'description' => '邮箱是否已验证,true表示邮箱已经过用户的验证或被管理员设置为已验证,false表示未验证', - 'type' => 'boolean', - 'example' => 'true', - ], - 'userExternalId' => [ - 'title' => '外部ID', - 'description' => '账户外部ID,用于外部数据与IDaaS账户的数据关联映射,默认为IDaaS账户ID。'."\n" - ."\n" - .'说明:外部ID在同一来源类型和来源ID下唯一。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'userSourceType' => [ - 'title' => '来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]', - 'description' => '账户来源类型,取值可选范围:'."\n" - .'- build_in:自建。'."\n" - .'- ding_talk:钉钉导入。'."\n" - .'- ad:AD导入。'."\n" - .'- ldap:LDAP导入', - 'type' => 'string', - 'example' => 'build_in', - ], - 'userSourceId' => [ - 'title' => '来源ID', - 'description' => '账户来源ID。'."\n" - ."\n" - .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'status' => [ - 'title' => '账户状态, enabled:启用,disabled:禁用', - 'description' => '账户状态,取值可选范围:'."\n" - .'enabled - 启用中。'."\n" - .'disabled - 禁用中。', - 'type' => 'string', - 'example' => 'enabled', - ], - 'accountExpireTime' => [ - 'title' => '账户过期时间, 毫秒时间', - 'description' => '账户过期时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'registerTime' => [ - 'description' => '账户注册时间,Unix时间戳格式,单位为毫秒。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'lockExpireTime' => [ - 'title' => '锁定过期时间, 毫秒时间', - 'description' => '账户锁定过期时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'createTime' => [ - 'title' => '创建时间, 毫秒时间', - 'description' => '账户创建时间,Unix时间戳格式,单位为毫秒。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'updateTime' => [ - 'title' => '最近一次更新时间, 毫秒时间', - 'description' => '账户最近一次更新时间,Unix时间戳格式,单位为毫秒。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'description' => [ - 'title' => '账号描述', - 'description' => '账户描述。', - 'type' => 'string', - 'example' => '测试账户', - ], + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'organizationalUnitId' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitName' => ['title' => '机构名称', 'description' => '组织名称。', 'type' => 'string', 'example' => 'name001'], + 'parentId' => ['title' => '父机构ID', 'description' => '父组织ID。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitExternalId' => ['title' => '外部ID', 'description' => '组织外部ID,用于外部数据与IDaaS组织的数据关联映射,默认为IDaaS组织ID。'."\n" + ."\n" + .'说明:外部ID在同一来源类型和来源ID下唯一。', 'type' => 'string', 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + 'organizationalUnitSourceType' => ['title' => '来源类型', 'description' => '组织来源类型,取值可选范围:'."\n" + .'- build\\_in:自建。'."\n" + .'- ding\\_talk:钉钉导入。'."\n" + .'- ad:AD导入。'."\n" + .'- ldap:LDAP导入。', 'type' => 'string', 'example' => 'build_in'], + 'organizationalUnitSourceId' => ['title' => '来源ID', 'description' => '组织来源ID。'."\n" + ."\n" + .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'createTime' => ['title' => '创建时间,毫秒', 'description' => '组织创建时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652083425923'], + 'updateTime' => ['title' => '最近一次更新时间,毫秒', 'description' => '组织最近更新时间,Unix时间戳格式,单位为毫秒。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1652083425923'], + 'description' => ['title' => '描述', 'description' => '组织描述。', 'type' => 'string', 'example' => '测试组织'], ], ], ], @@ -3387,489 +3010,525 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"username\\": \\"name001\\",\\n \\"displayName\\": \\"display_name001\\",\\n \\"passwordSet\\": true,\\n \\"phoneRegion\\": \\"86\\",\\n \\"phoneNumber\\": \\"156xxxxxxx\\",\\n \\"phoneNumberVerified\\": true,\\n \\"email\\": \\"example@example.com\\",\\n \\"emailVerified\\": true,\\n \\"userExternalId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"userSourceType\\": \\"build_in\\",\\n \\"userSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"accountExpireTime\\": 1652085686179,\\n \\"registerTime\\": 1652085686179,\\n \\"lockExpireTime\\": 1652085686179,\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179,\\n \\"description\\": \\"测试账户\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '列表查询EIAM账户', + 'title' => '列表查询EIAM组织列表信息', + 'summary' => '分页查询EIAM的组织信息。', + 'description' => '当您需要获取根组织下的直接子组织时,请求参数应设置为:'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "parentOrganizationalUnitId": "ou_root"'."\n" + .'}'."\n" + .'```', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app\\_001| 应用不存在 |'."\n" + .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:read\\_all] | 缺少API授权信息 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:read_all] | 缺少API授权信息 |'."\n" .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'EnableUser' => [ - 'summary' => '调用EnableUser接口,启用指定的EIAM账户。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/enable', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2022-05-19T07:22:56.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"organizationalUnitId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitName\\": \\"name001\\",\\n \\"parentId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitExternalId\\": \\"ou_wovwffm62xifdziem7an7xxxxx\\",\\n \\"organizationalUnitSourceType\\": \\"build_in\\",\\n \\"organizationalUnitSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652083425923,\\n \\"updateTime\\": 1652083425923,\\n \\"description\\": \\"测试组织\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListUsers' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasY4QW79'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', - 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'required' => true, - 'example' => 'user_001', - ], + 'name' => 'organizationalUnitId', + 'in' => 'query', + 'schema' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'required' => false, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '页码,默认1', 'description' => '页码,默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '单页大小,默认20', 'description' => '单页大小读取记录数,默认20,范围为1~100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ - 200 => [], + 200 => [ + 'schema' => [ + 'title' => '查询账户列表响应结果', + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['title' => '记录总数', 'description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'data' => [ + 'description' => '返回数据对象列表。', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据对象。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'userId' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'username' => ['title' => '账户名', 'description' => '账户名。', 'type' => 'string', 'example' => 'name001'], + 'displayName' => ['title' => '显示名', 'description' => '账户显示名。', 'type' => 'string', 'example' => 'display_name001'], + 'passwordSet' => ['title' => '密码是否已设置', 'description' => '密码是否已设置', 'type' => 'boolean', 'example' => 'true'], + 'phoneRegion' => ['title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +', 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +。', 'type' => 'string', 'example' => '86'], + 'phoneNumber' => ['title' => '手机号', 'description' => '账户手机号。', 'type' => 'string', 'example' => '156xxxxxxx'], + 'phoneNumberVerified' => ['title' => '手机号是否验证', 'description' => '手机号是否已验证,true表示手机号已经过用户验证或被管理员设置为已验证,false表示未验证。', 'type' => 'boolean', 'example' => 'true'], + 'email' => ['title' => '邮箱', 'description' => '账户邮箱。', 'type' => 'string', 'example' => 'example@example.com'], + 'emailVerified' => ['title' => '邮箱是否验证', 'description' => '邮箱是否已验证,true表示邮箱已经过用户的验证或被管理员设置为已验证,false表示未验证', 'type' => 'boolean', 'example' => 'true'], + 'userExternalId' => ['title' => '外部ID', 'description' => '账户外部ID,用于外部数据与IDaaS账户的数据关联映射,默认为IDaaS账户ID。'."\n" + ."\n" + .'说明:外部ID在同一来源类型和来源ID下唯一。', 'type' => 'string', 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], + 'userSourceType' => ['title' => '来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]', 'description' => '账户来源类型,取值可选范围:'."\n" + .'- build_in:自建。'."\n" + .'- ding_talk:钉钉导入。'."\n" + .'- ad:AD导入。'."\n" + .'- ldap:LDAP导入', 'type' => 'string', 'example' => 'build_in'], + 'userSourceId' => ['title' => '来源ID', 'description' => '账户来源ID。'."\n" + ."\n" + .'自建类型默认为实例ID,其他类型,分别对应不同来源的企业ID,比如钉钉来源对应钉钉企业的corpId。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'status' => ['title' => '账户状态, enabled:启用,disabled:禁用', 'description' => '账户状态,取值可选范围:'."\n" + .'enabled - 启用中。'."\n" + .'disabled - 禁用中。', 'type' => 'string', 'example' => 'enabled'], + 'accountExpireTime' => ['title' => '账户过期时间, 毫秒时间', 'description' => '账户过期时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'registerTime' => ['description' => '账户注册时间,Unix时间戳格式,单位为毫秒。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'lockExpireTime' => ['title' => '锁定过期时间, 毫秒时间', 'description' => '账户锁定过期时间,Unix时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'createTime' => ['title' => '创建时间, 毫秒时间', 'description' => '账户创建时间,Unix时间戳格式,单位为毫秒。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'updateTime' => ['title' => '最近一次更新时间, 毫秒时间', 'description' => '账户最近一次更新时间,Unix时间戳格式,单位为毫秒。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1652085686179'], + 'description' => ['title' => '账号描述', 'description' => '账户描述。', 'type' => 'string', 'example' => '测试账户'], + ], + ], + ], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '启用一个EIAM账户', + 'title' => '列表查询EIAM账户', + 'summary' => '调用ListUsers接口,分页查询EIAM账户信息。', 'extraInfo' => '### 错误码'."\n" .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | '."\n" - .'| 404 | ResourceNotFound.User | The specified User resource: user_xxxx not found. | '."\n" - .'| 404 | application_not_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | '."\n" - .'| 403 | application_disabled | Application is disabled | '."\n" - .'| 403 | application_api_disabled | Application api invoke disabled | '."\n" - .'| 403 | permission_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | '."\n" - .'| 500 | Internal Server Error | Internal Server Error |', - ], - 'DisableUser' => [ - 'summary' => '调用DisableUser接口,禁用指定的EIAM账户。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/disable', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app\\_001| 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:read\\_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-11-18T04:15:26.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-08-18T08:41:27.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"username\\": \\"name001\\",\\n \\"displayName\\": \\"display_name001\\",\\n \\"passwordSet\\": true,\\n \\"phoneRegion\\": \\"86\\",\\n \\"phoneNumber\\": \\"156xxxxxxx\\",\\n \\"phoneNumberVerified\\": true,\\n \\"email\\": \\"example@example.com\\",\\n \\"emailVerified\\": true,\\n \\"userExternalId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"userSourceType\\": \\"build_in\\",\\n \\"userSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"accountExpireTime\\": 1652085686179,\\n \\"registerTime\\": 1652085686179,\\n \\"lockExpireTime\\": 1652085686179,\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179,\\n \\"description\\": \\"测试账户\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListUsersForGroup' => [ + 'summary' => '查询一个EIAM组下的账户列表。', + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/listUsersForGroup', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasSNKQAN'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', + 'name' => 'groupId', 'in' => 'path', + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['title' => 'nextToken', 'description' => 'nextToken', 'type' => 'string', 'required' => false, 'example' => 'NTxxx'], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['title' => '单页大小,默认20', 'description' => '单页大小,默认20', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'required' => true, - 'example' => 'user_001', + 'title' => 'DeveloperNextTokenResponse', + 'description' => 'DeveloperNextTokenResponse', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['description' => '数据总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'data' => [ + 'description' => '返回数据对象。', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据对象。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['title' => '实例ID', 'description' => '实例ID', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'userId' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'example' => 'user_001'], + ], + ], + ], + 'nextToken' => ['description' => '分页token,为空表示没有下一页', 'type' => 'string', 'example' => 'NTxxx'], + 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + ], ], ], ], - 'responses' => [ - 200 => [], + 'title' => '查询一个EIAM组下的账户列表', + 'requestParamsDescription' => '如果groupId传入参数igroup_all,则查询所有组下用户。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '禁用一个EIAM账户', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | '."\n" - .'| 404 | ResourceNotFound.User | The specified User resource: user_xxxx not found. | '."\n" - .'| 404 | application_not_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | '."\n" - .'| 403 | application_disabled | Application is disabled | '."\n" - .'| 403 | application_api_disabled | Application api invoke disabled | '."\n" - .'| 403 | permission_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | '."\n" - .'| 500 | Internal Server Error | Internal Server Error |', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"userId\\": \\"user_001\\"\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', ], - 'GetUserIdByEmail' => [ - 'summary' => '调用GetUserIdByEmail接口,通过邮箱获取EIAM对应账户ID。', - 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByEmail', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ObtainCloudAccountRoleAccessCredential' => [ + 'summary' => '获取云角色(CloudAccountRole)的临时访问凭证。', + 'path' => '/v2/{instanceId}/cloudAccountRoles/_/actions/obtainAccessCredential', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/x-www-form-urlencoded', 'application/json', 'multipart/form-data'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。 '."\n" + .'> 请输入IDaaS签发的Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'name' => 'cloudAccountRoleExternalId', + 'in' => 'query', + 'schema' => ['title' => '云角色的外部唯一标识', 'description' => '云角色业务标识。', 'type' => 'string', 'required' => true, 'example' => 'acs:ram::xxx:role/role-test'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求body。', - 'type' => 'object', - 'properties' => [ - 'email' => [ - 'title' => '邮箱', - 'description' => '账户邮箱。', - 'type' => 'string', - 'required' => true, - 'example' => 'example@example.com', - ], - ], - 'required' => false, - ], + 'name' => 'durationSeconds', + 'in' => 'query', + 'schema' => ['description' => '指定云角色临时安全凭证(STS Token)的有效期持续时间,单位为秒。取值范围:900 ~ 43200(15分钟 ~ 12小时)'."\n" + .'约束条件:'."\n" + .'- 最小值不得低于900秒'."\n" + .'- 最大值受云厂商角色/服务账号的最大会话时间限制,比如AWS默认角色最大会话限制为3600s。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1800'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '响应结果', - 'description' => '响应结果。', + 'title' => '', + 'description' => '', 'type' => 'object', 'properties' => [ - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID。', + 'cloudAccountId' => ['title' => '云账号ID', 'description' => '云账号 ID。', 'type' => 'string', 'example' => 'ca_01kmegjc11qa1txxxxx'], + 'cloudAccountRoleId' => ['title' => '云账号角色ID', 'description' => '云角色 ID。', 'type' => 'string', 'example' => 'carole_01kmek49aqxxxx'], + 'cloudAccountRoleName' => ['title' => '云账号角色名称', 'description' => '云角色名称。', 'type' => 'string', 'example' => 'role-test'], + 'cloudAccountRoleExternalId' => ['title' => '云账号角色外部唯一键', 'description' => '云角色业务标识。', 'type' => 'string', 'example' => 'acs:ram::xxx:role/role-test'], + 'cloudAccountVendorType' => [ + 'title' => '云账号身份类型(云厂商类型)', + 'description' => '云账号类型。取值可选范围:'."\n" + .'- alibaba_cloud:阿里云', 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', + 'enumValueTitles' => ['alibaba_cloud' => 'alibaba_cloud'], + 'example' => 'alibaba_cloud', + ], + 'cloudAccountRoleAccessCredential' => [ + 'title' => '可用于扮演云角色的临时访问凭证', + 'description' => '可用于扮演云角色的临时访问凭证。', + 'type' => 'object', + 'properties' => [ + 'accessCredentialExpiresAt' => ['title' => '云角色临时访问凭证的过期时间,单位秒。', 'description' => '云角色临时访问凭证的过期时间,Unix时间戳格式,单位为秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1767196800'], + 'alibabaCloudStsToken' => [ + 'title' => '代表阿里云Role的STS Token', + 'description' => '用于扮演阿里云RAM角色的临时身份凭证(STS Token)。'."\n" + .'> 仅当云角色关联的云账号类型为阿里云(alibaba_cloud)时才会有返回值。', + 'type' => 'object', + 'properties' => [ + 'accessKeyId' => ['title' => '访问密钥ID', 'description' => '访问密钥 ID。', 'type' => 'string', 'example' => 'STS.NUgYrLnoC37mZZCNnAbez****'], + 'accessKeySecret' => ['title' => '访问密钥密文', 'description' => '访问密钥。', 'type' => 'string', 'example' => 'CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****'], + 'securityToken' => ['title' => '临时凭证会话安全令牌', 'description' => '安全令牌。', 'type' => 'string', 'example' => 'CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****'], + 'expiration' => ['title' => 'STS Token到期失效时间(UTC时间)'."\n", 'description' => 'Token 到期失效时间(UTC 时间)。', 'type' => 'string', 'example' => '2021-10-20T04:27:09Z'], + ], + ], + 'awsStsToken' => [ + 'title' => '代表AWS Role的STS Token', + 'description' => '代表AWS Role的STS Token', + 'type' => 'object', + 'properties' => [ + 'accessKeyId' => ['title' => '访问密钥ID', 'description' => '访问密钥ID', 'type' => 'string', 'example' => 'ASIAYBGN7XJKRFOM****'], + 'secretAccessKey' => ['title' => '访问密钥密文', 'description' => '访问密钥密文', 'type' => 'string', 'example' => 'CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****'], + 'sessionToken' => ['title' => '临时凭证会话安全令牌', 'description' => '临时凭证会话安全令牌', 'type' => 'string', 'example' => 'FwoDYXdzEJzfSjIr5bSEsj4g7BihPWGWHz****'."\n"], + 'expiration' => ['title' => 'STS Token到期失效时间(UTC时间)'."\n", 'description' => 'STS Token到期失效时间(UTC时间)'."\n", 'type' => 'string', 'example' => '2021-10-20T04:27:09Z'], + ], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', - 'title' => '通过邮箱获取EIAM账户ID', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" - .'| 400 | MissingParameter.Email | The specified parameter: Email is required! | 缺少Email参数 |'."\n" - .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetUserIdByPhoneNumber' => [ - 'summary' => '调用GetUserIdByPhoneNumber接口,通过手机号获取EIAM对应账户ID。', - 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByPhoneNumber', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取云角色的临时访问凭证', + 'description' => '该API基于IDaaS签发的Access Token进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的Access Token具备访问IDaaS内置PAM应用(Privileged Access Management)的“获取云角色访问凭证”的功能授权。'."\n" + .'> 对应的scope为`urn:cloud:idaas:pam|cloud_account_role:obtain_access_credential`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"cloudAccountId\\": \\"ca_01kmegjc11qa1txxxxx\\",\\n \\"cloudAccountRoleId\\": \\"carole_01kmek49aqxxxx\\",\\n \\"cloudAccountRoleName\\": \\"role-test\\",\\n \\"cloudAccountRoleExternalId\\": \\"acs:ram::xxx:role/role-test\\",\\n \\"cloudAccountVendorType\\": \\"alibaba_cloud\\",\\n \\"cloudAccountRoleAccessCredential\\": {\\n \\"accessCredentialExpiresAt\\": 1767196800,\\n \\"alibabaCloudStsToken\\": {\\n \\"accessKeyId\\": \\"STS.NUgYrLnoC37mZZCNnAbez****\\",\\n \\"accessKeySecret\\": \\"CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****\\",\\n \\"securityToken\\": \\"CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****\\",\\n \\"expiration\\": \\"2021-10-20T04:27:09Z\\"\\n },\\n \\"awsStsToken\\": {\\n \\"accessKeyId\\": \\"ASIAYBGN7XJKRFOM****\\",\\n \\"secretAccessKey\\": \\"CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****\\",\\n \\"sessionToken\\": \\"FwoDYXdzEJzfSjIr5bSEsj4g7BihPWGWHz****\\\\n\\",\\n \\"expiration\\": \\"2021-10-20T04:27:09Z\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'ObtainCredential' => [ + 'summary' => '查询一个凭据信息,获取凭据明文。', + 'path' => '/v2/{instanceId}/credentials/_/actions/obtain', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/x-www-form-urlencoded', 'application/json', 'multipart/form-data'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij'."\n", - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。 '."\n" + .'> 请输入IDaaS签发的Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => 'EIAM 实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], - ], - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求body。', - 'type' => 'object', - 'properties' => [ - 'phoneNumber' => [ - 'title' => '手机号', - 'description' => '账户手机号。', - 'type' => 'string', - 'required' => true, - 'example' => '156xxxxxxx', - ], - ], - 'required' => false, - ], + 'name' => 'credentialIdentifier', + 'in' => 'query', + 'schema' => ['title' => '云角色的外部唯一标识', 'description' => '凭据标识。', 'type' => 'string', 'required' => true, 'example' => 'credential_identifier_test', 'maxLength' => 64], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '响应结果', - 'description' => '响应结果。', + 'title' => '', + 'description' => '', 'type' => 'object', 'properties' => [ - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => 'EIAM实例ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'credentialId' => ['title' => '凭据ID。', 'description' => '凭据ID。', 'type' => 'string', 'example' => 'cred_mkv7rgt4d7i4u7zqtzev2mxxxx'], + 'status' => ['title' => '凭据状态', 'description' => '凭据状态。取值可选范围:'."\n" + .'- enabled:启用。'."\n" + .'- disabled:禁用。', 'type' => 'string', 'example' => 'enabled'], + 'credentialIdentifier' => ['title' => '凭据标识', 'description' => '凭据标识。', 'type' => 'string', 'example' => 'credential_identifier_test'], + 'credentialName' => ['title' => '凭据名称', 'description' => '凭据名称。', 'type' => 'string', 'example' => 'credential_name'], + 'credentialSubjectType' => ['title' => '凭据所属的主体类型。', 'description' => '凭据所属的主体类型。取值可选范围:'."\n" + .'- authentication_token_provider:认证令牌提供商。', 'type' => 'string', 'example' => 'authentication_token_provider'], + 'credentialSubjectId' => ['title' => '凭据所属的主体ID。', 'description' => '凭据所属的主体ID。', 'type' => 'string', 'example' => 'apt_werthgfdsasffxxxxx'], + 'credentialScenarioLabel' => ['title' => '凭据的使用场景标签。', 'description' => '凭据的使用场景标签。取值可选范围:'."\n" + .'- llm:大模型。'."\n" + .'- saas:三方 SaaS 服务。', 'type' => 'string', 'example' => 'llm'], + 'credentialType' => ['title' => '凭据类型。', 'description' => '凭据类型。取值可选范围:'."\n" + .'- api_key:API Key认证凭证。'."\n" + .'- oauth_client:OAuth客户端认证凭证。', 'type' => 'string', 'example' => 'api_key'], + 'credentialCreationType' => ['title' => '凭据的创建类型。', 'description' => '凭据的创建类型。取值可选范围:'."\n" + .'- system_init:系统创建。'."\n" + .'- user_custom:用户创建。', 'type' => 'string', 'example' => 'user_custom'], + 'description' => ['title' => '描述', 'description' => '凭据描述。', 'type' => 'string', 'example' => 'credential_description'], + 'createTime' => ['title' => '云角色创建时间', 'description' => '创建时间,Unix 时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '云角色更新时间', 'description' => '更新时间,Unix 时间戳格式,单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830227000'], + 'credentialContent' => [ + 'title' => '凭据的内容', + 'description' => '凭据的内容。', + 'type' => 'object', + 'properties' => [ + 'oauthClientContent' => [ + 'title' => 'OAuth客户端认证凭证类型的凭据内容。', + 'description' => 'OAuth 客户端认证凭证类型的凭据内容。', + 'type' => 'object', + 'properties' => [ + 'clientId' => ['title' => 'OAuth协议的client_id', 'description' => 'OAuth协议的client_id。', 'type' => 'string', 'example' => 'dmvncmxersdxxxxxx'], + 'clientSecret' => ['title' => 'OAuth协议的client_secret', 'description' => 'OAuth 协议的 client_secret。', 'type' => 'string', 'example' => 'nsklnertyt5ddwizncxxxx'], + ], + ], + 'apiKeyContent' => [ + 'title' => 'API Key类型的凭据内容。', + 'description' => 'API Key 凭证类型的凭据内容。', + 'type' => 'object', + 'properties' => [ + 'apiKey' => ['title' => 'API Key', 'description' => 'API Key 的值。', 'type' => 'string', 'example' => 'sk-nsklncmwizncxxxx'."\n"], + ], + ], + ], ], + 'credentialSharingScope' => ['title' => '凭据共享范围', 'description' => '凭据共享范围', 'type' => 'string', 'example' => 'user_exclusive'], + 'exclusiveUserId' => ['title' => '凭据专属账户ID', 'description' => '凭据专属账户ID', 'type' => 'string', 'example' => 'user_xxx'], + 'credentialExternalId' => ['title' => '凭据外部唯一标识。', 'type' => 'string'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', - 'title' => '通过手机号获取EIAM账户ID', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" - .'| 400 | MissingParameter.PhoneNumber| The specified parameter: PhoneNumber is required! | 缺少Email参数 |'."\n" - .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetUserIdByUserExternalId' => [ - 'summary' => '调用GetUserIdByUserExternalId接口,通过账户外部ID获取EIAM账户ID。', - 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByExternalId', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询一个含敏感信息的凭据', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“获取静态凭据”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为 `urn:cloud:idaas:pam|credential:obtain`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"credentialId\\": \\"cred_mkv7rgt4d7i4u7zqtzev2mxxxx\\",\\n \\"status\\": \\"enabled\\",\\n \\"credentialIdentifier\\": \\"credential_identifier_test\\",\\n \\"credentialName\\": \\"credential_name\\",\\n \\"credentialSubjectType\\": \\"authentication_token_provider\\",\\n \\"credentialSubjectId\\": \\"apt_werthgfdsasffxxxxx\\",\\n \\"credentialScenarioLabel\\": \\"llm\\",\\n \\"credentialType\\": \\"api_key\\",\\n \\"credentialCreationType\\": \\"user_custom\\",\\n \\"description\\": \\"credential_description\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830227000,\\n \\"credentialContent\\": {\\n \\"oauthClientContent\\": {\\n \\"clientId\\": \\"dmvncmxersdxxxxxx\\",\\n \\"clientSecret\\": \\"nsklnertyt5ddwizncxxxx\\"\\n },\\n \\"apiKeyContent\\": {\\n \\"apiKey\\": \\"sk-nsklncmwizncxxxx\\\\n\\"\\n }\\n },\\n \\"credentialSharingScope\\": \\"user_exclusive\\",\\n \\"exclusiveUserId\\": \\"user_xxx\\",\\n \\"credentialExternalId\\": \\"\\"\\n}","type":"json"}]', + ], + 'ObtainJwtAuthenticationToken' => [ + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/obtainJwt', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息,格式:Bearer access_token', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer AT8csE2seYxxxxxij', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID', - 'description' => '应用ID', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求body。', + 'description' => '请求 Body。', 'type' => 'object', 'properties' => [ - 'userExternalId' => [ - 'title' => '账户外部ID', - 'description' => '账户外部ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'xxx001', - ], - 'userSourceType' => [ - 'title' => '账户来源类型, 取值可选范围: build_in(自建), ding_talk(钉钉导入),ad(AD导入),ldap(LDAP导入)', - 'description' => '账户来源类型,取值可选范围:'."\n" - .'- build_in:自建。'."\n" - .'- ding_talk:钉钉导入。'."\n" - .'- ad:AD导入。'."\n" - .'- ldap:LDAP导入', - 'type' => 'string', - 'required' => true, - 'example' => 'build_in', - ], - 'userSourceId' => [ - 'title' => '账户来源ID,自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId', - 'description' => '账户来源ID。'."\n" - .'自建类型(build_in)值为实例ID,非自建类型,为对应企业ID,比如钉钉,对应的corpId。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'consumerId' => ['title' => '令牌使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'required' => true, 'example' => 'test_jwt_subject'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌 ID。', 'type' => 'string', 'required' => true, 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], ], 'required' => false, ], @@ -3878,108 +3537,93 @@ 'responses' => [ 200 => [ 'schema' => [ - 'title' => '响应结果', - 'description' => '响应结果。', + 'title' => '', + 'description' => 'JWT 认证令牌详情。', 'type' => 'object', 'properties' => [ - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => '实例 ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌 ID。', 'type' => 'string', 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], + 'credentialProviderId' => ['title' => '凭据提供商的ID。', 'description' => '凭据提供商 ID。', 'type' => 'string', 'example' => 'atp_01kr2cmj5gxxx4fvmls2e93dxxxxx'], + 'createTime' => ['title' => '认证令牌的创建时间,Unix时间戳。', 'description' => '认证令牌的创建时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '认证令牌的更新时间,Unix时间戳。', 'description' => '认证令牌的更新时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'authenticationTokenType' => ['title' => '认证令牌的类型。', 'description' => '认证令牌类型。'."\n" + ."\n" + .'> 取值固定为`jwt`,表示 JWT 类型的认证令牌。', 'type' => 'string', 'example' => 'jwt'], + 'revoked' => ['title' => '认证令牌是否被吊销。', 'description' => '认证令牌是否被吊销。', 'type' => 'boolean', 'example' => 'false'], + 'creatorType' => ['title' => '认证令牌的创建者类型。', 'description' => '认证令牌创建者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用', 'type' => 'string', 'example' => 'application'], + 'creatorId' => ['title' => '认证令牌的创建者ID。', 'description' => '认证令牌创建者 ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'consumerType' => ['title' => '认证令牌的使用者类型。', 'description' => '认证令牌使用者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用'."\n" + .'- custom:自定义类型', 'type' => 'string', 'example' => 'custom'], + 'consumerId' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'example' => 'test_jwt_subject'], + 'expirationTime' => ['title' => '认证令牌的过期时间,Unix时间戳,单位秒。', 'description' => '认证令牌过期时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1772693568000'], + 'jwtContent' => [ + 'title' => 'JWT类型的认证令牌的内容。', + 'description' => 'JWT 类型认证令牌内容。', + 'type' => 'object', + 'properties' => [ + 'jwtValue' => ['title' => 'JWT内容。', 'description' => 'JWT 内容。', 'type' => 'string', 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'derivedShortToken' => ['title' => 'JWT的派生短令牌。', 'description' => 'JWT 的派生短令牌。', 'type' => 'string', 'example' => 'sk-Nx2vzxxxxxxxxxxxxxxxxx'], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', - 'title' => '通过账户外部ID获取EIAM账户ID', - 'extraInfo' => '### 错误码'."\n" - .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" - .'| ---- | ---- | ---- | ---- |'."\n" - .'| 400 | invalid_token | Access token is not valid | token无效|'."\n" - .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" - .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" - .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" - .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" - .'| 400 | MissingParameter.UserExternalId | The specified parameter: UserExternalId is required! | 缺少UserExternalId参数 |'."\n" - .'| 400 | MissingParameter.UserSourceType | The specified parameter: UserSourceType is required! | 缺少UserSourceType参数 |'."\n" - .'| 400 | MissingParameter.UserSourceId | The specified parameter: UserSourceId is required! | 缺少UserSourceId参数 |'."\n" - .'| 400 | ResourceNotFound.UserId| The specified UserId resource: %s not found. | 账户ID不存在 |'."\n" - .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', - ], - 'GetUserIdByUsername' => [ - 'summary' => '调用GetUserIdByUsername接口,通过账户名获取EIAM对应账户ID。', - 'path' => '/v2/{instanceId}/{applicationId}/users/_/actions/getUserIdByUsername', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取JWT认证令牌明文', + 'summary' => '获取JWT认证令牌明文。', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“获取认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为 `urn:cloud:idaas:pam|authentication_token:obtain`。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"authenticationTokenId\\": \\"atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx\\",\\n \\"credentialProviderId\\": \\"atp_01kr2cmj5gxxx4fvmls2e93dxxxxx\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830225000,\\n \\"authenticationTokenType\\": \\"jwt\\",\\n \\"revoked\\": false,\\n \\"creatorType\\": \\"application\\",\\n \\"creatorId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"consumerType\\": \\"custom\\",\\n \\"consumerId\\": \\"test_jwt_subject\\",\\n \\"expirationTime\\": 1772693568000,\\n \\"jwtContent\\": {\\n \\"jwtValue\\": \\"eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\",\\n \\"derivedShortToken\\": \\"sk-Nx2vzxxxxxxxxxxxxxxxxx\\"\\n }\\n}","type":"json"}]', + ], + 'ObtainJwtAuthenticationTokenByDerivedShortToken' => [ + 'summary' => '基于派生短令牌查询JWT认证令牌。', + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/obtainJwtByDerivedShortToken', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Authorization', - 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], - ], - [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求body。', + 'description' => '请求 Body。', 'type' => 'object', 'properties' => [ - 'username' => [ - 'title' => '账户名。', - 'description' => '账户名。', - 'type' => 'string', - 'required' => true, - 'example' => 'username_001', - ], + 'derivedShortToken' => ['title' => '认证令牌派生短令牌原文。', 'description' => 'JWT认证令牌的派生短令牌原文。', 'type' => 'string', 'required' => true, 'example' => 'sk-Nx2vzxxxxxxxxxxxxxxxxx'], ], 'required' => false, ], @@ -3988,90 +3632,91 @@ 'responses' => [ 200 => [ 'schema' => [ - 'title' => '响应结果', - 'description' => '响应结果。', + 'title' => '', + 'description' => 'JWT认证令牌详情。', 'type' => 'object', 'properties' => [ - 'userId' => [ - 'title' => '账户ID。', - 'description' => '账户ID。', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', + 'instanceId' => ['title' => 'EIAM实例ID。', 'description' => '实例 ID。', 'type' => 'string', 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + 'authenticationTokenId' => ['title' => '认证令牌ID。', 'description' => '认证令牌 ID。', 'type' => 'string', 'example' => 'atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx'], + 'credentialProviderId' => ['title' => '凭据提供商的ID。', 'description' => '凭据提供商 ID。', 'type' => 'string', 'example' => 'atp_01kr2cmj5gxxx4fvmls2e93dxxxxx'], + 'createTime' => ['title' => '认证令牌的创建时间,Unix时间戳。', 'description' => '认证令牌的创建时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'updateTime' => ['title' => '认证令牌的更新时间,Unix时间戳。', 'description' => '认证令牌的更新时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1649830225000'], + 'authenticationTokenType' => ['title' => '认证令牌的类型。', 'description' => '认证令牌类型。'."\n" + ."\n" + .'> 取值固定为`jwt`,表示JWT类型的认证令牌。', 'type' => 'string', 'example' => 'jwt'], + 'revoked' => ['title' => '认证令牌是否被吊销。', 'description' => '认证令牌是否被吊销。', 'type' => 'boolean', 'example' => 'false'], + 'creatorType' => ['title' => '认证令牌的创建者类型。', 'description' => '认证令牌创建者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用', 'type' => 'string', 'example' => 'application'], + 'creatorId' => ['title' => '认证令牌的创建者ID。', 'description' => '认证令牌创建者 ID。', 'type' => 'string', 'example' => 'app_ngtkgrrxxxxktg5eao6z4xxxxx'], + 'consumerType' => ['title' => '认证令牌的使用者类型。', 'description' => '认证令牌使用者类型。取值可选范围:'."\n" + ."\n" + .'- application:应用'."\n" + .'- custom:自定义类型', 'type' => 'string', 'example' => 'custom'], + 'consumerId' => ['title' => '认证令牌的使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'example' => 'test_jwt_subject'], + 'expirationTime' => ['title' => '认证令牌的过期时间,Unix时间戳,单位秒。', 'description' => '认证令牌过期时间,Unix 时间戳,单位毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1772693568000'], + 'jwtContent' => [ + 'title' => 'JWT类型的认证令牌的内容。', + 'description' => 'JWT类型认证令牌内容。', + 'type' => 'object', + 'properties' => [ + 'jwtValue' => ['title' => 'JWT内容。', 'description' => 'JWT内容。', 'type' => 'string', 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'derivedShortToken' => ['title' => 'JWT的派生短令牌。', 'description' => 'JWT的派生短令牌。', 'type' => 'string', 'example' => 'sk-Nx2vzxxxxxxxxxxxxxxxxx'], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"userId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\"\\n}","type":"json"}]', - 'title' => '通过账户名获取EIAM账户ID', - ], - 'SetUserPrimaryOrganizationalUnit' => [ - 'summary' => '设置一个EIAM账户的所属主组织,账户会从旧主组织移除,并加入到新的组织下。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/setUserPrimaryOrganizationalUnit', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '基于派生短令牌查询JWT认证令牌', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"authenticationTokenId\\": \\"atntkn_01kqflm0sxxx8nmdc1cb5dskxxxxx\\",\\n \\"credentialProviderId\\": \\"atp_01kr2cmj5gxxx4fvmls2e93dxxxxx\\",\\n \\"createTime\\": 1649830225000,\\n \\"updateTime\\": 1649830225000,\\n \\"authenticationTokenType\\": \\"jwt\\",\\n \\"revoked\\": false,\\n \\"creatorType\\": \\"application\\",\\n \\"creatorId\\": \\"app_ngtkgrrxxxxktg5eao6z4xxxxx\\",\\n \\"consumerType\\": \\"custom\\",\\n \\"consumerId\\": \\"test_jwt_subject\\",\\n \\"expirationTime\\": 1772693568000,\\n \\"jwtContent\\": {\\n \\"jwtValue\\": \\"eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\",\\n \\"derivedShortToken\\": \\"sk-Nx2vzxxxxxxxxxxxxxxxxx\\"\\n }\\n}","type":"json"}]', + ], + 'PatchGroup' => [ + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', + 'methods' => ['patch'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas7VNWU7'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', + 'name' => 'groupId', 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'schema' => ['title' => '组ID', 'description' => '组ID', 'type' => 'string', 'required' => true, 'example' => 'group_xxx001'], ], [ 'name' => 'body', @@ -4081,13 +3726,7 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'organizationalUnitId' => [ - 'title' => '主组织ID。', - 'description' => '主组织ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], + 'groupName' => ['title' => '组名称', 'description' => '组名称', 'type' => 'string', 'required' => false, 'example' => 'name001'], ], 'required' => false, ], @@ -4096,176 +3735,139 @@ 'responses' => [ 200 => [], ], + 'title' => '更新一个EIAM组', + 'summary' => '调用PatchGroup接口,更新一个EIAM组信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '设置一个EIAM账户所属主组织', ], - 'AddUserToOrganizationalUnits' => [ - 'summary' => '将一个EIAM账户加入到多个EIAM组织中,这些组织作为账户的从属组织,如果账户已属于相关组织,则不做更新。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/addUserToOrganizationalUnits', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'PatchOrganizationalUnit' => [ + 'summary' => '调用PatchOrganizationalUnit接口,更新一个EIAM组织信息。', + 'path' => '/v2/{instanceId}/{applicationId}/organizationalUnits/{organizationalUnitId}', + 'methods' => ['patch'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息,格式:Bearer access_token', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'userId', + 'name' => 'organizationalUnitId', 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'schema' => ['title' => '机构ID', 'description' => '组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求body。', + 'description' => '请求体参数。', 'type' => 'object', 'properties' => [ - 'organizationalUnitIds' => [ - 'title' => '组织ID列表。', - 'description' => '组织ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '组织ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', - ], - 'required' => true, - 'example' => '[ou_wovwffm62xifdziem7an7xxxxx]', - ], + 'organizationalUnitName' => ['title' => '机构名称', 'description' => '组织名称,长度限制最长为64字符。', 'type' => 'string', 'required' => false, 'example' => 'name001'], + 'description' => ['title' => '机构描述', 'description' => '组织描述,长度限制最长为128字符。', 'type' => 'string', 'required' => false, 'example' => '测试组织'], ], 'required' => false, + 'example' => 'ou_xxx001', ], ], ], 'responses' => [ 200 => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '将一个EIAM账户加入到多个EIAM组织中', - ], - 'RemoveUserFromOrganizationalUnits' => [ - 'summary' => '将一个EIAM账户从多个EIAM组织中移除,如果账户已不属于这些组织,则默认成功。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/removeUserFromOrganizationalUnits', - 'methods' => [ - 'post', + 'title' => '更新一个EIAM组织', + 'description' => '接口符合HTTP Patch方法语义,只修改传入的参数值,不传则默认不修改。', + 'responseParamsDescription' => "\n" + .'> 成功则,默认返回http code为200'."\n", + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 400 | OrganizationUnitIdNotInScopes | organizationUnitId : ou_wovwffm62xifdziem7an7xxxxx not in provisioning scope! | 组织不在同步范围内|'."\n" + .'| 400 | ResourceDuplicated.OrganizationalUnitName | The specified OrganizationalUnitName resource: xxx already exist! | 组织名称已存在|'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:organizational_unit:manage_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2022-05-16T08:31:33.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'PatchUser' => [ + 'summary' => '调用PatchUser接口,更新一个EIAM账户信息。', + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}', + 'methods' => ['patch'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer AT8csE2seYxxxxxij'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'userId', 'in' => 'path', - 'schema' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], + 'schema' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], [ 'name' => 'body', @@ -4275,348 +3877,211 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'organizationalUnitIds' => [ - 'title' => '组织ID列表。', - 'description' => '组织ID列表。', + 'username' => ['title' => '账户名', 'description' => '账户名。', 'type' => 'string', 'required' => false, 'example' => 'name001'], + 'displayName' => ['title' => '账户展示名', 'description' => '账户展示名。', 'type' => 'string', 'required' => false, 'example' => 'display_name001'], + 'phoneRegion' => ['title' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填', 'description' => '手机地区编号,示例:中国大陆手区号为86,不带 00 或 +, 手机号若设置,此参数必填。', 'type' => 'string', 'required' => false, 'example' => '86'], + 'phoneNumber' => ['title' => '手机号', 'description' => '账户手机号。', 'type' => 'string', 'required' => false, 'example' => '156xxxxxxx'], + 'phoneNumberVerified' => ['title' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true', 'description' => '手机号是否验证,手机号若设置此字段必须设置,无特殊业务可直接设置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'email' => ['title' => '邮箱', 'description' => '账户邮箱。', 'type' => 'string', 'required' => false, 'example' => 'example@example.com'], + 'emailVerified' => ['title' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true', 'description' => '邮箱是否验证,邮箱若设置此字段必须设置,无特殊业务可直接设置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'customFields' => [ + 'title' => '扩展字段列表', + 'description' => '账户扩展字段列表。', 'type' => 'array', 'items' => [ - 'description' => '组织ID。', - 'type' => 'string', + 'description' => '扩展字段更新操作对象。', + 'type' => 'object', + 'properties' => [ + 'operator' => ['description' => '字段操作类型,已废弃,请采用operation替换使用。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'replace'], + 'fieldName' => ['title' => '扩展字段标识', 'description' => '扩展字段标识,类型和值域可通过控制台查看对应扩展字段值的详细信息。', 'type' => 'string', 'required' => false, 'example' => 'age'], + 'fieldValue' => ['title' => '扩展字段值', 'description' => '扩展字段值。', 'type' => 'string', 'required' => false, 'example' => 'test_value'], + 'operation' => ['description' => '字段操作类型,取值可选范围:'."\n" + .'- add:添加。'."\n" + .'- replace:替换。若对应扩展字段无设置值,会转换为add操作。'."\n" + .'- remove:移除。', 'type' => 'string', 'required' => false, 'example' => 'replace'], + ], 'required' => false, - 'example' => 'ou_wovwffm62xifdziem7an7xxxxx', ], - 'required' => true, - 'example' => '[ou_wovwffm62xifdziem7an7xxxxx]', + 'required' => false, ], ], 'required' => false, + 'example' => 'user_001', ], ], ], 'responses' => [ 200 => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '将一个EIAM账户从多个EIAM组织中移除', - ], - 'ListGroupsForUser' => [ - 'summary' => '查询一个EIAM账户所属的组列表。', - 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/listGroupsForUser', - 'methods' => [ - 'get', + 'title' => '更新一个EIAM账户信息', + 'description' => '接口符合HTTP Patch方法语义,只修改传入的参数值,不传则默认不修改。', + 'extraInfo' => '### 错误码'."\n" + .'| HttpCode | Error Code | 错误信息 | 说明 |'."\n" + .'| ---- | ---- | ---- | ---- |'."\n" + .'| 400 | invalid\\_token | Access token is not valid | token无效|'."\n" + .'| 400 | MissingParameter.xxxx | The specified parameter:xxx is required! | 缺少xxxx参数 |'."\n" + .'| 400 | InvalidParameter.xxxx | The specified parameter:xxxx is required! | xxxx参数无效 |'."\n" + .'| 404 | ResourceNotFound.User | The specified User resource: user_d6sbsuumeta4h66ec3il7yxxxx not found. | 账户不存在 |'."\n" + .'| 404 | application\\_not\\_found | Application id not found: app_mkv7rgt4d7i4u7zqtzev2mxxxx | 应用不存在 |'."\n" + .'| 403 | application\\_disabled | Application is disabled| 应用处于禁用状态 |'."\n" + .'| 403 | application\\_api\\_disabled | Application api invoke disabled| 应用API未开放 |'."\n" + .'| 403 | permission\\_denied | Require scopes: [urn:alibaba:idaas:scope:user:manager_all] | 缺少API授权信息 |'."\n" + .'| 500 | Internal Server Error | Internal Server Error | 服务器内部错误|', + 'changeSet' => [ + ['createdAt' => '2023-04-16T14:35:21.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-18T04:15:26.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-16T08:31:26.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-16T08:31:26.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'ReinstateAuthenticationToken' => [ + 'summary' => '恢复一个认证令牌。', + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/reinstate', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasY4QW79', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'userId', - 'in' => 'path', - 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - ], - [ - 'name' => 'nextToken', - 'in' => 'query', - 'schema' => [ - 'title' => 'nextToken', - 'description' => 'nextToken', - 'type' => 'string', - 'required' => false, - 'example' => 'NTxxx', - ], - ], - [ - 'name' => 'maxResults', - 'in' => 'query', - 'schema' => [ - 'title' => '单页大小,默认20', - 'description' => '单页大小,默认20', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'DeveloperNextTokenResponse', - 'description' => 'DeveloperNextTokenResponse', + 'description' => '请求 Body。', 'type' => 'object', 'properties' => [ - 'totalCount' => [ - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'data' => [ - 'description' => '返回数据对象。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据对象。', - 'type' => 'object', - 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'groupId' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'groupMemberRelationSourceType' => [ - 'title' => '账户成员关系来源类型', - 'description' => '账户成员关系来源类型', - 'type' => 'string', - 'example' => 'build_in', - ], - 'groupMemberRelationSourceId' => [ - 'title' => '账户成员关系来源ID', - 'description' => '账户成员关系来源ID', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - ], - ], - 'nextToken' => [ - 'description' => '下一次查询的token,为空表示最后一页', - 'type' => 'string', - 'example' => 'NTxxx', - ], - 'maxResults' => [ - 'description' => '一次获取的最大记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], + 'token' => ['title' => '认证令牌明文。', 'description' => '认证令牌原文。'."\n" + ."\n" + .'> 传入“认证令牌原文”或“认证令牌的派生短令牌”均可。', 'type' => 'string', 'required' => true, 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'token_type_hint' => ['title' => '认证令牌类型指示。', 'description' => '认证令牌类型指示。'."\n" + ."\n" + .'><notice>当前暂无需传值。></notice>', 'type' => 'string', 'required' => false, 'example' => '-'], ], + 'required' => false, ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupId\\": \\"user_d6sbsuumeta4h66ec3il7yxxxx\\",\\n \\"groupMemberRelationSourceType\\": \\"build_in\\",\\n \\"groupMemberRelationSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\"\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', - 'title' => '查询一个EIAM账户的组列表', - ], - 'GetGroup' => [ - 'summary' => '调用GetGroup接口,获取指定组的详细信息。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', - 'methods' => [ - 'get', + 'responses' => [ + 200 => [], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '恢复一个认证令牌', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“管理认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:manage`。'."\n" + ."\n" + .'><notice>当前仅JWT类型的认证令牌支持该操作。></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'ReinstateAuthenticationTokenByConsumer' => [ + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/reinstateByConsumer', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaas1LGU5E', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'groupId', - 'in' => 'path', - 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'DeveloperGroupDTO', - 'description' => 'DeveloperGroupDTO', + 'description' => '请求 Body。', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'groupId' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'example' => 'group_ufdsasn35ea5lmthk267xxxxx', - ], - 'groupName' => [ - 'title' => '组名称。', - 'description' => '组名称。', - 'type' => 'string', - 'example' => 'name_test', - ], - 'description' => [ - 'title' => '组描述。', - 'description' => '组描述。', - 'type' => 'string', - 'example' => 'description_demo', - ], - 'groupExternalId' => [ - 'title' => '组外部标识。', - 'description' => '组外部标识。', - 'type' => 'string', - 'example' => 'group_ufdsasn35ea5lmthk267xxxxx', - ], - 'groupSourceType' => [ - 'title' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', - 'description' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', - 'type' => 'string', - 'example' => 'build_in', - ], - 'groupSourceId' => [ - 'title' => '组来源ID。', - 'description' => '组来源ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'createTime' => [ - 'title' => '组创建时间, Unix时间戳格式,单位为毫秒。', - 'description' => '组创建时间, Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'updateTime' => [ - 'title' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', - 'description' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], + 'consumerId' => ['title' => '令牌使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'required' => true, 'example' => 'test_jwt_subject'], + 'credentialProviderIdentifier' => ['title' => '凭据提供商的业务标识。', 'description' => '凭据提供商标识。', 'type' => 'string', 'required' => true, 'example' => 'test_example_identifier'], ], + 'required' => false, ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupName\\": \\"name_test\\",\\n \\"description\\": \\"description_demo\\",\\n \\"groupExternalId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupSourceType\\": \\"build_in\\",\\n \\"groupSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652085686179,\\n \\"updateTime\\": 1652085686179\\n}","type":"json"}]', - 'title' => '查询一个EIAM组信息', - ], - 'CreateGroup' => [ - 'summary' => '调用CreateGroup接口,创建组资源。', - 'path' => '/v2/{instanceId}/{applicationId}/groups', - 'methods' => [ - 'post', + 'responses' => [ + 200 => [], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '基于使用者恢复认证令牌', + 'summary' => '基于使用者恢复认证令牌。', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“管理认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:manage`。'."\n" + ."\n" + .'><notice>当前仅JWT类型的认证令牌支持该操作。></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'RemoveUserFromOrganizationalUnits' => [ + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/removeUserFromOrganizationalUnits', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], @@ -4625,50 +4090,35 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaas7VNWU7', - ], + 'abilityTreeNodes' => ['FEATUREidaas3S4NKL', 'FEATUREidaasCRU1S2'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], + ], + [ + 'name' => 'userId', + 'in' => 'path', + 'schema' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], [ 'name' => 'body', @@ -4678,19 +4128,13 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'groupName' => [ - 'title' => '组织名称。', - 'description' => '组织名称。', - 'type' => 'string', + 'organizationalUnitIds' => [ + 'title' => '组织ID列表。', + 'description' => '组织ID列表。', + 'type' => 'array', + 'items' => ['description' => '组织ID。', 'type' => 'string', 'required' => false, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], 'required' => true, - 'example' => 'name001', - ], - 'groupExternalId' => [ - 'title' => '外部ID。', - 'description' => '外部ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'group_2bo6lefcewdausyyxxxx', + 'example' => '[ou_wovwffm62xifdziem7an7xxxxx]', ], ], 'required' => false, @@ -4698,35 +4142,21 @@ ], ], 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'GroupIdObject', - 'description' => 'GroupIdObject', - 'type' => 'object', - 'properties' => [ - 'groupId' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"groupId\\": \\"group_wovwffm62xifdziem7an7xxxxx\\"\\n}","type":"json"}]', - 'title' => '创建一个EIAM组', - ], - 'PatchGroup' => [ - 'summary' => '调用PatchGroup接口,更新一个EIAM组信息。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', - 'methods' => [ - 'patch', + 200 => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => '将一个EIAM账户从多个EIAM组织中移除', + 'summary' => '将一个EIAM账户从多个EIAM组织中移除,如果账户已不属于这些组织,则默认成功。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'RemoveUsersFromGroup' => [ + 'summary' => '将多个EIAM账户从一个EIAM组中移除,如果账户已不属于组,则默认成功。', + 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/removeUsersFromGroup', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], @@ -4738,58 +4168,32 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaas7VNWU7', - ], + 'abilityTreeNodes' => ['FEATUREidaasIEJFYH'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ 'name' => 'groupId', 'in' => 'path', - 'schema' => [ - 'title' => '组ID', - 'description' => '组ID', - 'type' => 'string', - 'required' => true, - 'example' => 'group_xxx001', - ], + 'schema' => ['title' => '组ID。', 'description' => '组ID。', 'type' => 'string', 'required' => true, 'example' => 'group_wovwffm62xifdziem7an7xxxxx'], ], [ 'name' => 'body', @@ -4799,12 +4203,13 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'groupName' => [ - 'title' => '组名称', - 'description' => '组名称', - 'type' => 'string', - 'required' => false, - 'example' => 'name001', + 'userIds' => [ + 'title' => '账户ID列表', + 'description' => '账户ID列表', + 'type' => 'array', + 'items' => ['description' => '账户ID。', 'type' => 'string', 'required' => false, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'."\n"], + 'required' => true, + 'example' => '[user_d6sbsuumeta4h66ec3il7yxxxx}', ], ], 'required' => false, @@ -4814,359 +4219,273 @@ 'responses' => [ 200 => [], ], + 'title' => '将多个EIAM账户从一个EIAM组中移除', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '更新一个EIAM组', ], - 'DeleteGroup' => [ - 'summary' => '调用DeleteGroup接口,删除指定组。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RevokeAuthenticationToken' => [ + 'summary' => '吊销一个认证令牌。', + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/revoke', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasJ7WKML', - 'FEATUREidaas7VNWU7', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - ], - [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'groupId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', + 'description' => '请求 Body。', + 'type' => 'object', + 'properties' => [ + 'token' => ['title' => '认证令牌明文。', 'description' => '认证令牌原文。'."\n" + ."\n" + .'> 传入“认证令牌原文”或“认证令牌的派生短令牌”均可。', 'type' => 'string', 'required' => true, 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'token_type_hint' => ['title' => '认证令牌类型指示。', 'description' => '认证令牌类型指示。'."\n" + ."\n" + .'><notice>当前暂无需传值。></notice>', 'type' => 'string', 'required' => false, 'example' => '-'], + ], + 'required' => false, ], ], ], 'responses' => [ 200 => [], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '吊销一个认证令牌', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“管理认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:manage`。'."\n" + ."\n" + .'><notice>当前仅JWT类型的认证令牌支持该操作。></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '删除一个EIAM组', ], - 'ListGroups' => [ - 'summary' => '调用ListGroups接口,分页查询EIAM组信息。', - 'path' => '/v2/{instanceId}/{applicationId}/groups', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RevokeAuthenticationTokenByConsumer' => [ + 'summary' => '基于使用者吊销认证令牌。', + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/revokeByConsumer', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaas1LGU5E', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。基于标准OAuth2.0或者OIDC协议签发的AccessToken', 'description' => '认证信息。 格式为:Bearer ${access_token}。'."\n" + ."\n" + .'> 请输入 IDaaS 签发的 Access Token。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', + 'description' => '请求 Body。', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['title' => '令牌使用者ID。', 'description' => '认证令牌使用者 ID。', 'type' => 'string', 'required' => true, 'example' => 'test_jwt_subject'], + 'credentialProviderIdentifier' => ['title' => '凭据提供商的业务标识。', 'description' => '凭据提供商标识。', 'type' => 'string', 'required' => true, 'example' => 'test_example_identifier'], + ], + 'required' => false, ], ], + ], + 'responses' => [ + 200 => [], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '基于使用者吊销认证令牌', + 'description' => '该 API 基于 IDaaS 签发的 Access Token 进行身份认证和鉴权。'."\n" + ."\n" + .'请确保传入的 Access Token 具备访问 IDaaS 内置 PAM 应用(Privileged Access Management)的“管理认证令牌”的功能授权。'."\n" + ."\n" + .'> 对应的 scope 为`urn:cloud:idaas:pam|authentication_token:manage`。'."\n" + ."\n" + .'><notice>当前仅JWT类型的认证令牌支持该操作。></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', + ], + 'RevokeToken' => [ + 'path' => '/v2/{instanceId}/{applicationId}/oauth2/revoke', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'Anonymous' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREidaasJXI2A5'], + ], + 'parameters' => [ + [ + 'name' => 'instanceId', + 'in' => 'path', + 'schema' => ['title' => '实例ID', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], + ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'groupNameStartWith', + 'name' => 'client_id', 'in' => 'query', - 'schema' => [ - 'title' => '组名称前缀', - 'description' => '组名称前缀', - 'type' => 'string', - 'required' => false, - 'example' => 'group_xxx', - ], + 'schema' => ['description' => '客户端ID。', 'type' => 'string', 'required' => false, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'nextToken', + 'name' => 'client_secret', 'in' => 'query', - 'schema' => [ - 'title' => 'nextToken', - 'description' => 'nextToken', - 'type' => 'string', - 'required' => false, - 'example' => 'NTxxx', - ], + 'schema' => ['description' => '客户端密钥。', 'type' => 'string', 'required' => false, 'example' => 'CSEHDcHcrUKHw1CuxkJEHPveWRXBGqVqRsxxxx'], ], [ - 'name' => 'maxResults', + 'name' => 'token', + 'in' => 'query', + 'schema' => ['title' => '撤销的token', 'description' => '待撤销的token。', 'type' => 'string', 'required' => true, 'example' => 'ATxxxx'], + ], + [ + 'name' => 'token_type_hint', 'in' => 'query', 'schema' => [ - 'title' => '单页大小,默认20', - 'description' => '单页大小,默认20', - 'type' => 'integer', - 'format' => 'int32', + 'title' => 'token类型', + 'description' => 'token类型,取值可选范围:'."\n" + .'access_token'."\n" + .'refresh\\_token', + 'type' => 'string', 'required' => false, - 'example' => '20', + 'enumValueTitles' => ['access_token' => 'access_token', 'refresh_token' => 'refresh_token'], + 'example' => 'access_token', ], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'title' => 'DeveloperNextTokenResponse', - 'description' => 'DeveloperNextTokenResponse', - 'type' => 'object', - 'properties' => [ - 'totalCount' => [ - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'data' => [ - 'description' => '返回数据对象。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据对象。', - 'type' => 'object', - 'properties' => [ - 'groupName' => [ - 'title' => '组名称。', - 'description' => '组名称。', - 'type' => 'string', - 'example' => 'name_test', - ], - 'instanceId' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'createTime' => [ - 'title' => '组创建时间, Unix时间戳格式,单位为毫秒。', - 'description' => '组创建时间, Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'groupId' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'example' => 'group_ufdsasn35ea5lmthk267xxxxx', - ], - 'groupSourceType' => [ - 'title' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', - 'description' => '组来源类型,build_in[自建],ding_talk[钉钉导入],ad[AD导入],ldap[LDAP导入]。', - 'type' => 'string', - 'example' => 'build_in', - ], - 'description' => [ - 'title' => '组描述。', - 'description' => '组描述。', - 'type' => 'string', - 'example' => 'description_demo', - ], - 'groupSourceId' => [ - 'title' => '组来源ID。', - 'description' => '组来源ID。', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'updateTime' => [ - 'title' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', - 'description' => '组最近一次更新时间,Unix时间戳格式,单位为毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1652085686179', - ], - 'groupExternalId' => [ - 'title' => '组外部标识。', - 'description' => '组外部标识。', - 'type' => 'string', - 'example' => 'group_ufdsasn35ea5lmthk267xxxxx', - ], - ], - ], - ], - 'nextToken' => [ - 'description' => '用来标记当前开始读取的位置,置空表示从头开始', - 'type' => 'string', - 'example' => 'NTxxx', - ], - 'maxResults' => [ - 'description' => '一次获取的最大记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - ], - ], + 'schema' => ['title' => 'RevokeResponse', 'description' => '响应结果。', 'type' => 'object'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"groupName\\": \\"name_test\\",\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"createTime\\": 1652085686179,\\n \\"groupId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\",\\n \\"groupSourceType\\": \\"build_in\\",\\n \\"description\\": \\"description_demo\\",\\n \\"groupSourceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"updateTime\\": 1652085686179,\\n \\"groupExternalId\\": \\"group_ufdsasn35ea5lmthk267xxxxx\\"\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', - 'title' => '列表查询EIAM组信息', - ], - 'AddUsersToGroup' => [ - 'summary' => '将多个EIAM账户加入到一个EIAM组中,如果账户已属于相关组,则不做更新。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/addUsersToGroup', - 'methods' => [ - 'post', + 'title' => '吊销指定的token', + 'summary' => '调用RevokeToken接口,吊销指定的access_token或refresh_token。', + 'changeSet' => [ + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-05-09T01:01:41.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n}","type":"json"}]', + ], + 'SetUserPrimaryOrganizationalUnit' => [ + 'summary' => '设置一个EIAM账户的所属主组织,账户会从旧主组织移除,并加入到新的组织下。', + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/setUserPrimaryOrganizationalUnit', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasIEJFYH', - ], + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2', 'FEATUREidaas3S4NKL'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'groupId', + 'name' => 'userId', 'in' => 'path', - 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], + 'schema' => ['title' => '账户ID', 'description' => '账户ID', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], [ 'name' => 'body', @@ -5176,19 +4495,7 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'userIds' => [ - 'title' => '账户ID列表', - 'description' => '账户ID列表', - 'type' => 'array', - 'items' => [ - 'description' => '账户ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx', - ], - 'required' => true, - 'example' => '[user_d6sbsuumeta4h66ec3il7yxxxx}', - ], + 'organizationalUnitId' => ['title' => '主组织ID。', 'description' => '主组织ID。', 'type' => 'string', 'required' => true, 'example' => 'ou_wovwffm62xifdziem7an7xxxxx'], ], 'required' => false, ], @@ -5197,19 +4504,18 @@ 'responses' => [ 200 => [], ], + 'title' => '设置一个EIAM账户所属主组织', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '将多个EIAM账户加入到一个EIAM组中', ], - 'RemoveUsersFromGroup' => [ - 'summary' => '将多个EIAM账户从一个EIAM组中移除,如果账户已不属于组,则默认成功。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/removeUsersFromGroup', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateUserPassword' => [ + 'summary' => '更新指定EIAM账户的密码信息。', + 'path' => '/v2/{instanceId}/{applicationId}/users/{userId}/actions/updateUserPassword', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'Anonymous' => [], @@ -5219,60 +4525,34 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasIEJFYH', - ], + 'abilityTreeNodes' => ['FEATUREidaasCRU1S2'], ], 'parameters' => [ [ 'name' => 'Authorization', 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], + 'schema' => ['title' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'description' => '认证信息。'."\n" + .'格式:Bearer ${access_token}。'."\n" + .'示例:Bearer ATxxxx。', 'type' => 'string', 'required' => true, 'example' => 'Bearer xxxx'], ], [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx'], ], [ 'name' => 'applicationId', 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], + 'schema' => ['title' => '应用ID。', 'description' => '应用ID。', 'type' => 'string', 'required' => true, 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx'], ], [ - 'name' => 'groupId', + 'name' => 'userId', 'in' => 'path', - 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], + 'schema' => ['title' => '账户ID', 'description' => '账户ID。', 'type' => 'string', 'required' => true, 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'], ], [ 'name' => 'body', @@ -5282,19 +4562,7 @@ 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'userIds' => [ - 'title' => '账户ID列表', - 'description' => '账户ID列表', - 'type' => 'array', - 'items' => [ - 'description' => '账户ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'user_d6sbsuumeta4h66ec3il7yxxxx'."\n", - ], - 'required' => true, - 'example' => '[user_d6sbsuumeta4h66ec3il7yxxxx}', - ], + 'password' => ['title' => '密码', 'description' => '新密码,相关规则参考控制台密码策略说明。', 'type' => 'string', 'required' => false, 'example' => 'xxxx'], ], 'required' => false, ], @@ -5303,186 +4571,265 @@ 'responses' => [ 200 => [], ], + 'title' => '更新一个EIAM账户的密码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], 'responseDemo' => '[{"errorExample":"","example":"{}","type":"json"}]', - 'title' => '将多个EIAM账户从一个EIAM组中移除', ], - 'ListUsersForGroup' => [ - 'summary' => '查询一个EIAM组下的账户列表。', - 'path' => '/v2/{instanceId}/{applicationId}/groups/{groupId}/actions/listUsersForGroup', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ValidateAuthenticationToken' => [ + 'path' => '/v2/{instanceId}/authenticationTokens/_/actions/validate', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'Anonymous' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREidaasSNKQAN', - ], + 'abilityTreeNodes' => ['FEATUREidaasDPGRH1'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Authorization', - 'in' => 'header', - 'schema' => [ - 'title' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'description' => '认证信息。'."\n" - .'格式:Bearer ${access_token}。'."\n" - .'示例:Bearer ATxxxx。', - 'type' => 'string', - 'required' => true, - 'example' => 'Bearer xxxx', - ], - ], - [ 'name' => 'instanceId', 'in' => 'path', - 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], + 'schema' => ['title' => 'IDaaS实例ID', 'description' => '实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', 'maxLength' => 64], ], [ - 'name' => 'applicationId', - 'in' => 'path', - 'schema' => [ - 'title' => '应用ID。', - 'description' => '应用ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'app_mkv7rgt4d7i4u7zqtzev2mxxxx', - ], - ], - [ - 'name' => 'groupId', - 'in' => 'path', - 'schema' => [ - 'title' => '组ID。', - 'description' => '组ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'group_wovwffm62xifdziem7an7xxxxx', - ], - ], - [ - 'name' => 'nextToken', - 'in' => 'query', - 'schema' => [ - 'title' => 'nextToken', - 'description' => 'nextToken', - 'type' => 'string', - 'required' => false, - 'example' => 'NTxxx', - ], - ], - [ - 'name' => 'maxResults', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '单页大小,默认20', - 'description' => '单页大小,默认20', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '请求 Body。', + 'type' => 'object', + 'properties' => [ + 'token' => ['title' => '认证令牌明文。', 'description' => '认证令牌原文。'."\n" + ."\n" + .'> 传入“认证令牌原文”或“认证令牌的派生短令牌”均可。', 'type' => 'string', 'required' => true, 'example' => 'eyJhbGciOixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'], + 'token_type_hint' => ['title' => '认证令牌类型指示。', 'description' => '认证令牌类型指示。'."\n" + ."\n" + .'><notice>当前暂无需传值。></notice>', 'type' => 'string', 'required' => false, 'example' => '-'], + ], 'required' => false, - 'example' => '20', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'DeveloperNextTokenResponse', - 'description' => 'DeveloperNextTokenResponse', + 'description' => '校验结果。', 'type' => 'object', 'properties' => [ - 'totalCount' => [ - 'description' => '数据总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'data' => [ - 'description' => '返回数据对象。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据对象。', - 'type' => 'object', - 'properties' => [ - 'instanceId' => [ - 'title' => '实例ID', - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'idaas_ue2jvisn35ea5lmthk267xxxxx', - ], - 'userId' => [ - 'title' => '账户ID', - 'description' => '账户ID', - 'type' => 'string', - 'example' => 'user_001', - ], - ], - ], - ], - 'nextToken' => [ - 'description' => '分页token,为空表示没有下一页', - 'type' => 'string', - 'example' => 'NTxxx', - ], - 'maxResults' => [ - 'description' => '一次获取的最大记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'active' => ['title' => '认证令牌是否有效。', 'description' => '认证令牌是否有效。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"totalCount\\": 1000,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"idaas_ue2jvisn35ea5lmthk267xxxxx\\",\\n \\"userId\\": \\"user_001\\"\\n }\\n ],\\n \\"nextToken\\": \\"NTxxx\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', - 'title' => '查询一个EIAM组下的账户列表', - 'requestParamsDescription' => '如果groupId传入参数igroup_all,则查询所有组下用户。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '校验一个认证令牌', + 'summary' => '校验一个认证令牌。', + 'description' => '><notice>当前仅JWT类型的认证令牌支持该操作。></notice>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"active\\": true\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'eiam-developerapi.cn-hongkong.aliyuncs.com', 'endpoint' => 'eiam-developerapi.cn-hongkong.aliyuncs.com', 'vpc' => 'eiam-developerapi-hk.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => '韩国(首尔)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'eiam-developerapi.ap-northeast-2.aliyuncs.com', 'endpoint' => 'eiam-developerapi.ap-northeast-2.aliyuncs.com', 'vpc' => 'eiam-developerapi-sel.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'eiam-developerapi.ap-southeast-1.aliyuncs.com', 'endpoint' => 'eiam-developerapi.ap-southeast-1.aliyuncs.com', 'vpc' => 'eiam-developerapi-sg.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'eiam-developerapi.ap-southeast-5.aliyuncs.com', 'endpoint' => 'eiam-developerapi.ap-southeast-5.aliyuncs.com', 'vpc' => 'eiam-developerapi-jk.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'eiam-developerapi.cn-hangzhou.aliyuncs.com', 'endpoint' => 'eiam-developerapi.cn-hangzhou.aliyuncs.com', 'vpc' => 'eiam-developerapi-cn.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'eiam-developerapi.eu-central-1.aliyuncs.com', 'endpoint' => 'eiam-developerapi.eu-central-1.aliyuncs.com', 'vpc' => 'eiam-developerapi-eu.vpc-proxy.aliyuncs.com'], + ], + 'errorCodes' => [], + 'changeSet' => [ [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'eiam-developerapi.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetUser'], + ['description' => '请求参数发生变更', 'api' => 'PatchUser'], + ], + 'createdAt' => '2023-04-16T14:36:50.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'eiam-developerapi.ap-northeast-2.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GenerateToken'], + ], + 'createdAt' => '2023-04-04T10:57:38.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'CreateUser'], + ['description' => 'OpenAPI 下线', 'api' => 'DisableUser'], + ['description' => 'OpenAPI 下线', 'api' => 'EnableUser'], + ['description' => '请求参数发生变更', 'api' => 'GenerateToken'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetUser'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListUsers'], + ['description' => '请求参数发生变更', 'api' => 'PatchUser'], + ], + 'createdAt' => '2022-11-18T04:16:50.000Z', + 'description' => '扩展字段', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'eiam-developerapi.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetUserIdByUsername'], + ], + 'createdAt' => '2022-09-01T08:19:05.000Z', + 'description' => '提供getUserIdByUsername', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'eiam-developerapi.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateUser'], + ['description' => '响应参数发生变更', 'api' => 'GetUser'], + ['description' => '响应参数发生变更', 'api' => 'ListUsers'], + ], + 'createdAt' => '2022-08-18T08:42:06.000Z', + 'description' => 'passwordSet public -> private', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'eiam-developerapi.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'GetOrganizationalUnitIdByExternalId'], + ['description' => 'OpenAPI 下线', 'api' => 'GetUserIdByEmail'], + ['description' => 'OpenAPI 下线', 'api' => 'GetUserIdByPhoneNumber'], + ['description' => 'OpenAPI 下线', 'api' => 'GetUserIdByUserExternalId'], + ], + 'createdAt' => '2022-08-17T12:26:19.000Z', + 'description' => 'dev API增强', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'eiam-developerapi.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GenerateDeviceCode'], + ['description' => '请求参数发生变更', 'api' => 'GenerateToken'], + ['description' => '请求参数发生变更', 'api' => 'RevokeToken'], + ], + 'createdAt' => '2022-05-25T08:10:16.000Z', + 'description' => '修改', ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetUserInfo'], + ['description' => '请求参数发生变更', 'api' => 'RevokeToken'], + ], + 'createdAt' => '2022-05-25T04:12:46.000Z', + 'description' => '文档', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateDeviceCode'], + ['description' => '请求参数发生变更', 'api' => 'GenerateToken'], + ], + 'createdAt' => '2022-05-23T09:53:33.000Z', + 'description' => '测试', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'CreateUser'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateDeviceCode'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateToken'], + ['description' => '响应参数发生变更', 'api' => 'GetOrganizationalUnit'], + ['description' => '请求参数发生变更', 'api' => 'GetOrganizationalUnitIdByExternalId'], + ['description' => '响应参数发生变更', 'api' => 'GetUser'], + ], + 'createdAt' => '2022-05-19T10:19:29.000Z', + 'description' => '文档生成', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GenerateDeviceCode'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateToken'], + ['description' => '请求参数发生变更', 'api' => 'GetUserInfo'], + ], + 'createdAt' => '2022-05-16T11:44:43.000Z', + 'description' => '测试', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'RevokeToken'], + ], + 'createdAt' => '2022-05-16T10:35:50.000Z', + 'description' => '测试', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateOrganizationalUnit'], + ['description' => '请求参数发生变更', 'api' => 'CreateUser'], + ['description' => '请求参数发生变更', 'api' => 'DeleteOrganizationalUnit'], + ['description' => '请求参数发生变更', 'api' => 'DeleteUser'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateDeviceCode'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GenerateToken'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetApplicationProvisioningScope'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetOrganizationalUnit'], + ['description' => '请求参数发生变更', 'api' => 'GetOrganizationalUnitIdByExternalId'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetUser'], + ], + 'createdAt' => '2022-05-16T09:30:25.000Z', + 'description' => '测试文档', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'CreateOrganizationalUnit'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'CreateUser'], + ['description' => '请求参数发生变更', 'api' => 'DeleteOrganizationalUnit'], + ['description' => '请求参数发生变更', 'api' => 'DeleteUser'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetOrganizationalUnit'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetOrganizationalUnitIdByExternalId'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetUser'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetUserIdByExternalId'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListOrganizationalUnit'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListOrganizationalUnitParentIds'], + ], + 'createdAt' => '2022-05-10T11:41:26.000Z', + 'description' => '测试文档', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetOrganizationalUnit'], + ['description' => '响应参数发生变更', 'api' => 'GetUser'], + ['description' => '响应参数发生变更', 'api' => 'ListOrganizationalUnit'], + ['description' => '响应参数发生变更', 'api' => 'ListUsers'], + ], + 'createdAt' => '2022-05-10T11:41:06.000Z', + 'description' => '文档测试', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'CreateOrganizationalUnit'], + ['description' => 'OpenAPI 下线', 'api' => 'CreateUser'], + ['description' => 'OpenAPI 下线', 'api' => 'DeleteOrganizationalUnit'], + ['description' => 'OpenAPI 下线', 'api' => 'DeleteUser'], + ['description' => 'OpenAPI 下线', 'api' => 'GenerateDeviceCode'], + ['description' => 'OpenAPI 下线', 'api' => 'GenerateToken'], + ['description' => 'OpenAPI 下线', 'api' => 'GetApplicationAuthorizedScopes'], + ['description' => 'OpenAPI 下线', 'api' => 'GetOrganizationalUnit'], + ['description' => 'OpenAPI 下线', 'api' => 'GetOrganizationalUnitIdByExternalId'], + ['description' => 'OpenAPI 下线', 'api' => 'GetUser'], + ], + 'createdAt' => '2022-05-10T11:40:57.000Z', + 'description' => '第一次测试', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetApplicationAuthorizedScopes'], + ], + 'createdAt' => '2022-05-10T11:39:55.000Z', + 'description' => '测试文档', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], ], ]; |
