OutSystems Platform allows you to authenticate IT users (developers, testers operations), using an external authentication provider. It can be done by using or developing an authentication plugin and assigning it as the authentication provider on the platform. This page contains the requirements an external authentication plugin must implement.

Instead of implementing your authentication plugin from scratch, you can get the template available on OutSystems Forge, and also check on several other providers.

Below are the requirements for the service of your authentication plugin.

SOAP Web Service Name

An authentication plugin is a module that exposes a SOAP web service. This web service is invoked by OutSystems Platform when activating the plugin and when authenticating users.

The SOAP web service needs to be called 'OSPlatformAuthentication'.

SOAP Web Service Methods

The 'OSPlatformAuthentication' SOAP web service, needs to expose the following methods.

Name

Description

Plugin_GetCapabilities ()

Method invoked synchronously when the OutSystems Platform is changed to use this plugin for authentication. You should use this method to return the capabilities of your plugin.

Plugin_OnActivation ()

Called synchronously when the OutSystems Platform authentication method is changed to use this plugin for authentication. As an example, you can use this method to execute your tests and validate the plugin.

Plugin_OnDeactivation ()

Method invoked synchronously when the OutSystems Platform authentication method is changed to stop using this plugin for authentication. As an example, you can use this method to disable your users from OutSystems Platform.

Plugin_Test ()

Called synchronously when the IT user tests if the plugin is working correctly on OutSystems Platform. As an example, you can use this method to check if your plugin is valid.

User_AuthenticateWithCredentials (Text, Text)

Executed synchronously when the OutSystems Platform authenticates a username and password against the external system. As an example, you can use this method to validate a user in the Active Directory.

User_AuthenticateWithUsername (Text)

Method invoked synchronously when the OutSystems Platform authenticates a username against the external system. As an example, you can use this method to validate a user with Integrated Authentication.

Plugin_GetCapabilities

Method invoked synchronously when the OutSystems Platform is changed to use this plugin for authentication. You should use this method to return the capabilities of your plugin.

Inputs

none.

Outputs

Name

Type

Description

SupportedCapabilities

Capability Record List

The list of supported capabilities.

Status

PluginAPIStatus

The status of invoking this action. It contains the success value and the response information of the action.

Plugin_OnActivation

Called synchronously when the OutSystems Platform authentication method is changed to use this plugin for authentication. As an example, you can use this method to execute your tests and validate the plugin.

Inputs

none.

Outputs

Name

Type

Description

Status

PluginAPIStatus

The status of invoking this action. It contains the success value and the response information of the action.

Plugin_OnDeactivation

Method invoked synchronously when the OutSystems Platform authentication method is changed to stop using this plugin for authentication. As an example, you can use this method to disable your users from OutSystems Platform.

Inputs

none.

Outputs

none.

Plugin_Test

Called synchronously when the IT user tests if the plugin is working correctly on OutSystems Platform. As an example, you can use this method to check if your plugin is valid.

Inputs

none.

Outputs

Name

Type

Description

Status

PluginAPIStatus

The status of invoking this action. It contains the success value and the response information of the action.

User_AuthenticateWithCredentials

Executed synchronously when the OutSystems Platform authenticates a username and password against the external system. As an example, you can use this method to validate a user in the Active Directory.

Inputs

Name

Type

Description

Username

Text

The username of the user to authenticate.

Password

Text

The password of the user to authenticate.

Outputs

Name

Type

Description

UserId

User Identifier

The OutSystems user identifier.

Status

PluginAPIStatus

The status of invoking this action. It contains the success value and the response information of the action.

User_AuthenticateWithUsername

Method invoked synchronously when the OutSystems Platform authenticates a username against the external system. As an example, you can use this method to validate a user with Integrated Authentication.

Inputs

Name

Type

Description

Username

Text

The username of the user to authenticate.

Outputs

Name

Type

Description

UserId

User Identifier

The OutSystems user identifier.

Status

PluginAPIStatus

The status of invoking this action. It contains the success value and the response information of the action.

Structures

Below are the structures the plugin needs to have.

PluginAPIStatus

Name

Type

Description

Success

Boolean

 

ResponseId

Integer

The response code.

ResponseMessage

Text

The response message.

ResponseAdditionalInfo

Text

The response detailed message.

You can customize the values for the ResponseId, ResponseMessage, and ResponseAdditionalInfo attributes since these attributes are only used to generate logs.

Capability

Name

Type

Description

Name

Text

The name of the capability.

Value

Text

The value of the capability.

Supported Values

Your plugin needs to expose the specific values to these attributes.

Name

Value

'UserPassword.Supported'

'True'

'IntegratedAuthentication.Supported'

'True'

'PlatformServicesAuthentication_TokenOnly'

'True'

See Also

Use an External Authentication Provider

Configure Security for an Infrastructure