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.
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.
When the web service calls the platform, a bearer token must be provided. This bearer token is obtained through an dedicated URL.