[ACS-9980] Add SSO integration API (#11297)

* [ACS-9980] Add SSO integration API

* [ACS-9980] CR fixes

* [ACS-9980] CR fix
This commit is contained in:
MichalKinas
2025-10-23 12:58:08 +02:00
committed by GitHub
parent 1685ee4c8b
commit 1c8af0467e
9 changed files with 129 additions and 2 deletions
@@ -37,6 +37,7 @@ export * from './integrationAlfrescoCloud.api';
export * from './integrationAlfrescoOnPremise.api';
export * from './integrationBox.api';
export * from './integrationDrive.api';
export * from './integrationSSO.api';
export * from './models.api';
export * from './modelsBpmn.api';
export * from './modelsHistory.api';
@@ -0,0 +1,40 @@
/*!
* @license
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { BaseApi } from './base.api';
import { SSOUserAccountCredentialsRepresentation } from '../model';
/**
* IntegrationSSOApi service.
*/
export class IntegrationSSOApi extends BaseApi {
/**
* Get account information
* @param repositoryId repositoryId
* @return Promise<SSOUserAccountCredentialsRepresentation>
*/
getAccountInformation(repositoryId: string): Promise<SSOUserAccountCredentialsRepresentation> {
const pathParams = {
repositoryId
};
return this.get({
path: '/api/enterprise/integration/sso/{repositoryId}/account',
pathParams
});
}
}
@@ -5,6 +5,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**accountUsername** | **string** | | [optional] [default to null]
**alfrescoTenantId** | **string** | | [optional] [default to null]
**authenticationType** | **string** | | [optional] [default to null]
**created** | [**Date**](Date.md) | | [optional] [default to null]
**id** | **number** | | [optional] [default to null]
**lastUpdated** | [**Date**](Date.md) | | [optional] [default to null]
@@ -0,0 +1,41 @@
# IntegrationSSOApi
All URIs are relative to */activiti-app/api*
| Method | HTTP request | Description |
|------------------------------------------------------------------------ | -------------------------------------------------------------- | ----------------------|
| [**getAccountInformation**](#getAccountInformation) | **GET** /api/enterprise/integration/sso/{repositoryId}/account | Get account information |
## getAccountInformation
Returns account information.
### Example
```javascript
import { AlfrescoApi, IntegrationSSOApi } from '@alfresco/js-api';
this.alfrescoApi = new AlfrescoApi();
this.alfrescoApi.setConfig({
hostEcm: 'http://127.0.0.1:8080'
});
let integrationSSOApi = new IntegrationSSOApi(this.alfrescoApi);
integrationSSOApi.getAccountInformation('1').then(() => {
console.log('API called successfully.');
}, function (error) {
console.error(error);
});
```
### Parameters
| Name | Type | Description | Notes |
|----------------- | ---------- | ------------------------------------------------- | ----- |
| **repositoryId** | **string** | Alfresco Repository instance ID configured in APS | |
### Return type
`Promise<SSOUserAccountCredentialsRepresentation>`
@@ -0,0 +1,10 @@
# SSOUserAccountCredentialsRepresentation
## Properties
| Name | Type | Description | Notes |
|---------------------- | ---------- | ------------------------------------------------------------------------------ | ----- |
| **authenticationURL** | **string** | Authentication URL that can be used to establish a session between IdP and APS | |
| **expireDate** | **Date** | APS token expiry date | |
| **name** | **string** | User account name | |
| **ownerEmail** | **string** | User account owner email | |
| **repositoryId** | **number** | Alfresco repository ID | |
@@ -20,6 +20,7 @@ import { DateAlfresco } from '../../content-custom-api';
export class AlfrescoEndpointRepresentation {
accountUsername?: string;
alfrescoTenantId?: string;
authenticationType?: string;
created?: Date;
id?: number;
lastUpdated?: Date;
@@ -141,6 +141,7 @@ export * from './runtimeAppDefinitionSaveRepresentation';
export * from './runtimeDecisionTableRepresentation';
export * from './runtimeFormRepresentation';
export * from './saveFormRepresentation';
export * from './ssoUserAccountCredentialsRepresentation';
export * from './submittedFormRepresentation';
export * from './syncLogEntryRepresentation';
export * from './systemPropertiesRepresentation';
@@ -0,0 +1,33 @@
/*!
* @license
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { DateAlfresco } from '../../content-custom-api';
export class SSOUserAccountCredentialsRepresentation {
authenticationURL: string;
expireDate: Date;
name: string;
ownerEmail: string;
repositoryId: number;
constructor(input?: Partial<SSOUserAccountCredentialsRepresentation>) {
if (input) {
Object.assign(this, input);
this.expireDate = input.expireDate ? DateAlfresco.parseDate(input.expireDate) : undefined;
}
}
}