Oauth2 authentication for Web services

This article describes how to authenticate a Web Service call with OAuth2. This authentication method is the only one available to connect to the Online version of Sage X3. You can also use it on-premise, typically if you already use an OAuth2 provider to authenticate users.

Enabling OAuth2 authentication

Two steps are necessary to enable OAuth2 authentication:

First, you need to enable it in your server's nodelocal.js configuration file. This is done in the session section, which should look like:

javascriptsession: {// interactive session timeout (minutes).timeout: 20,// more session settings ...// ...// authentication modesauth: ["oauth2"],},
In this configuration only oauth2 is enabled. You can enable several modes, by separating them with commas. For example: auth: ["basic", "oauth2"]. As we want to use web services, the bearer option is also mandatory, so the auth entry should at least look like:
javascriptsession: {// ...// authentication modesauth: ["oauth2","bearer"],},

The next step is to configure a user on behalf of whom the web service calls will be executed. This user must be configured with OAuth2 authentication and must be mapped to a Sage X3 user with an appropriate security profile. See the user administration documentation for details.

Calling a Web Service with OAuth2 authentication

When the web service calls the platform, a bearer token must be provided. This bearer token is obtained through an dedicated URL.

Links

Web Services overview