automation-cloud
latest
false
UiPath logo, featuring letters U and I in white

Automation Cloud API 指南

上次更新日期 2026年3月30日

External client - Federated credentials

Federated credentials let an OAuth external application authenticate to UiPath using a JSON Web Token (JWT) issued by an external identity provider, without requiring a client secret. Each application supports a maximum of 20 federated credentials.

Use the endpoints on this page to list, create, retrieve, update, and delete federated credentials for a registered OAuth external application. To manage external applications themselves, see Managing external OAuth applications.

List federated credentials

Retrieve all federated credentials registered for a specific OAuth external application.

API 端点

GET
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentialsGET
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials

路径参数

参数描述
partitionGlobalIdThe organization global ID.
clientIdThe ID of the OAuth external application.

作用域

需要以下任一作用域:

  • PM.OAuthApp
  • PM.OAuthApp.Read(用于 GET 请求)

请求标头

--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'
Note: To obtain the {access_token}, use an organization administrator token or authenticate through one of the methods described in Authentication methods.

响应

200 OK

Returns an array of FederatedCredentialDto objects. Returns an empty array if no credentials are registered.

请求示例

curl --request GET \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials' \
  --header 'Authorization: Bearer {access_token}'curl --request GET \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials' \
  --header 'Authorization: Bearer {access_token}'

响应示例

[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":"1539a53a-e34f-4803-adef-b9cd82f18858",
"name":"GitHub Actions","description":
"Used for GitHub Actions CI/CD pipeline","issuer":
"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg",
"subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z",
"updatedAt":"2026-03-01T10:00:00Z"}][{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":"1539a53a-e34f-4803-adef-b9cd82f18858",
"name":"GitHub Actions","description":
"Used for GitHub Actions CI/CD pipeline","issuer":
"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg",
"subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z",
"updatedAt":"2026-03-01T10:00:00Z"}]

Create a federated credential

Create a federated identity credential for a specific OAuth external application.

Note: Each application supports a maximum of 20 federated credentials.

API 端点

POST
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentialsPOST
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials

路径参数

参数描述
partitionGlobalIdThe organization global ID.
clientIdThe ID of the OAuth external application.

作用域

需要以下任一作用域:

  • PM.OAuthApp
  • PM.OAuthApp.Write(用于 PUT 请求)

请求标头

--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'

请求正文

{"name":"azure-production-workload","description":"Federated credential for production Azure workload",
"issuer":"https://login.microsoftonline.com/{tenant-id}/v2.0",
"audience":"api://uipath-production","subject":"00000000-0000-0000-0000-000000000000"}{"name":"azure-production-workload","description":"Federated credential for production Azure workload",
"issuer":"https://login.microsoftonline.com/{tenant-id}/v2.0",
"audience":"api://uipath-production","subject":"00000000-0000-0000-0000-000000000000"}
字段必填描述
nameA descriptive name for the credential. Must be unique within the application. Maximum 128 characters.
descriptionOptional context for the credential. Maximum 512 characters.
issuerThe HTTPS URI of the external identity provider. Must be reachable at create time.
audienceA single string that must appear in the JWT aud claim.
subjectA value that must exactly match the JWT sub claim.

响应

201 已创建

Returns the created FederatedCredentialDto object.

400 Bad Request

The request is invalid. Possible causes: name is not unique within the client, issuer is not a valid HTTPS URI, the issuer's JWKS endpoint is unreachable, or the maximum of 20 credentials per application has been reached.

404 Not Found

The specified clientId does not exist or does not belong to the caller's organization.

请求示例

curl --request POST \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials' \
  --header 'Authorization: Bearer {access_token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"GitHub Actions","description":"Used for GitHub Actions CI/CD pipeline","issuer":"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main"}'
curl --request POST \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials' \
  --header 'Authorization: Bearer {access_token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"GitHub Actions","description":"Used for GitHub Actions CI/CD pipeline","issuer":"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main"}'

响应示例

{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":
"1539a53a-e34f-4803-adef-b9cd82f18858","name":"GitHub Actions","description":
"Used for GitHub Actions CI/CD pipeline","issuer":"https://token.actions.githubusercontent.com","audience":
"https://cloud.uipath.com/myorg","subject":
"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-01T10:00:00Z"}{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":
"1539a53a-e34f-4803-adef-b9cd82f18858","name":"GitHub Actions","description":
"Used for GitHub Actions CI/CD pipeline","issuer":"https://token.actions.githubusercontent.com","audience":
"https://cloud.uipath.com/myorg","subject":
"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-01T10:00:00Z"}

Get a federated credential

Retrieve a specific federated credential by its ID.

API 端点

GET
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}GET
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}

路径参数

参数描述
partitionGlobalIdThe organization global ID.
clientIdThe ID of the OAuth external application.
credentialIdThe ID of the federated credential.

作用域

需要以下任一作用域:

  • PM.OAuthApp
  • PM.OAuthApp.Read(用于 GET 请求)

请求标头

--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'

响应

200 OK

Returns the FederatedCredentialDto object for the requested credential.

404 Not Found

The specified credential or application does not exist in the caller's organization.

请求示例

curl --request GET \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}'curl --request GET \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}'

Example response

{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":"1539a53a-e34f-4803-adef-b9cd82f18858",
"name":"GitHub Actions","description":"Used for GitHub Actions CI/CD pipeline",
"issuer":"https://token.actions.githubusercontent.com","audience":
"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-15T08:30:00Z"}{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","clientId":"1539a53a-e34f-4803-adef-b9cd82f18858",
"name":"GitHub Actions","description":"Used for GitHub Actions CI/CD pipeline",
"issuer":"https://token.actions.githubusercontent.com","audience":
"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-15T08:30:00Z"}

Update a federated credential

Update an existing federated credential. All required fields must be included in the request body.

API 端点

PUT
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}PUT
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}

路径参数

参数描述
partitionGlobalIdThe organization global ID.
clientIdThe ID of the OAuth external application.
credentialIdThe ID of the federated credential to update.

作用域

需要以下任一作用域:

  • PM.OAuthApp
  • PM.OAuthApp.Write(用于 PUT 请求)

请求标头

--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'

请求正文

{"name":"azure-production-workload-updated","description":"Updated description","issuer"
:"https://login.microsoftonline.com/{tenant-id}/v2.0","audience":
"api://uipath-production","subject":"00000000-0000-0000-0000-000000000000"}{"name":"azure-production-workload-updated","description":"Updated description","issuer"
:"https://login.microsoftonline.com/{tenant-id}/v2.0","audience":
"api://uipath-production","subject":"00000000-0000-0000-0000-000000000000"}
字段必填描述
nameA descriptive name for the credential. Must be unique within the application. Maximum 128 characters.
descriptionOptional context for the credential. Maximum 512 characters.
issuerThe HTTPS URI of the external identity provider. Must be reachable at create time.
audienceA single string that must appear in the JWT aud claim.
subjectA value that must exactly match the JWT sub claim.
响应

200 OK

Returns the updated FederatedCredentialDto object.

400 Bad Request

Validation failed. Possible causes: duplicate name, invalid issuer URI, or unreachable JWKS endpoint.

请求示例

curl --request PUT \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"GitHub Actions — Production","description":"Production branch deployments only","issuer":"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main"}'
curl --request PUT \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"GitHub Actions — Production","description":"Production branch deployments only","issuer":"https://token.actions.githubusercontent.com","audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main"}'

响应示例

{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"clientId":"1539a53a-e34f-4803-adef-b9cd82f18858","name":"GitHub Actions — Production","description":
"Production branch deployments only","issuer":"https://token.actions.githubusercontent.com",
"audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-20T14:00:00Z"}{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"clientId":"1539a53a-e34f-4803-adef-b9cd82f18858","name":"GitHub Actions — Production","description":
"Production branch deployments only","issuer":"https://token.actions.githubusercontent.com",
"audience":"https://cloud.uipath.com/myorg","subject":"repo:myorg/myrepo:ref:refs/heads/main",
"createdAt":"2026-03-01T10:00:00Z","updatedAt":"2026-03-20T14:00:00Z"}

Delete a federated credential

Delete a federated credential. This action is permanent and immediately invalidates any token acquisition using this credential.
Warning: Deletion is permanent. After deletion, the credential can no longer be used to acquire new access tokens. Access tokens already issued before deletion remain valid until they expire.

API 端点

DELETE
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}DELETE
          {accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}

路径参数

参数描述
partitionGlobalIdThe organization global ID.
clientIdThe ID of the OAuth external application.
credentialIdThe ID of the federated credential to delete.

作用域

需要以下任一作用域:

  • PM.OAuthApp
  • PM.OAuthApp.Write(用于 PUT 请求)

请求标头

--header 'Authorization: Bearer {access_token}'--header 'Content-Type: application/json'

响应

204 无内容

The federated credential was deleted successfully. The response body is empty.

404 Not Found

The specified credential or application does not exist in the caller's organization.

请求示例

curl --request DELETE \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}'curl --request DELETE \
  '{accessURL}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}/FederatedCredentials/{credentialId}' \
  --header 'Authorization: Bearer {access_token}'

Acquire a token using a federated credential

Exchange a JWT from your external identity provider for a UiPath access token.

API 端点

POST {accessURL}/identity_/connect/token

Request headers
--header 'Content-Type: application/x-www-form-urlencoded'
Request body
grant_type=client_credentials
&client_id={client_id}&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion={jwt_token}&scope={requested_scopes}grant_type=client_credentials
&client_id={client_id}&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion={jwt_token}&scope={requested_scopes}
参数描述
grant_typeMust be client_credentials.
client_idThe client ID of the registered OAuth external application.
client_assertion_typeMust be urn:ietf:params:oauth:client-assertion-type:jwt-bearer.
client_assertionThe JWT issued by your external identity provider.
scopeThe OAuth scopes requested for the access token.
响应

200 OK

Returns an access token object. Use the access_token value in the Authorization: Bearer header of subsequent API calls.

400 Bad Request

Token acquisition failed. Possible causes: JWT signature invalid, issuer or audience mismatch, subject mismatch, expired JWT, or JWT exceeds 8 KB.

Schemas

FederatedCredentialDto

The object returned by GET, POST, and PUT operations.

属性类型Nullable描述
idstring (uuid)The unique identifier of the federated credential.
clientId字符串The application ID of the OAuth external application this credential belongs to.
name字符串The display name of the federated credential.
description字符串The description of the federated credential.
issuer字符串The URL of the external identity provider.
audience字符串The expected aud claim value in the JWT.
subject字符串The expected sub claim value in the JWT.
createdAtstring (date-time)The UTC timestamp when the credential was created.
updatedAtstring (date-time)The UTC timestamp when the credential was last updated.

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新