OAuth2 rule fields

The following fields are available in the Generic OAuth2 rule when OpenID Connect is not enabled:

Field Description
When this rule should be applied An expression that defines one or more conditions that must be true for the rule to execute.

Default value: N/A

Example: The expression request.method == "POST" causes the rule to execute only on POST requests.

Use OpenID Connect

Make sure the checkbox is deselected to use OAuth2.

Default value: Deselected

Login URL

Required. The login URL for the OAuth2 vendor. REVIEWERS: Is this correct, it said the login URL for the client before, but that didn't seem correct.

Required Scopes

Required. The list of OAuth2 scopes required to get information about a user. See OAuth 2.0 Scopes for details.

Scope The name of the OAuth2 scope.

Example: user, token, session

Access Token URL

Required. The access token URL generated when you registered Snaplogic as an application with the OAuth2 providers. The response from this token URL will be stored in $token and can be referenced in User Info URL below.

Example: https://github.com/login/oauth/access_token

Client ID

Required. The ID of the SnapLogic application registered with the OAuth2 provider.

Client Secret

Required. The client secret for the SnapLogic application registered with the OAuth2 provider.

Redirect URI The URI of the Snaplex load-balancer appended with /api/1/rest/oauth2/callback
User Info URL #1-2 These sections describe the HTTP GET requests this rule should make to get information about a user.
Note:
  • Limitation: The User Info URLfield and settings don't support expressions that use the asset or request variables.
  • User Info URL #2 is optional.
URL The destination for the request to get user information.

Example: https://idp.example.com/userhttps://api.github.com/user

Query Parameters The query parameters (name and value) to add into the URL.
Headers The headers (name and value) to include in the request.

Example: Authorization

Extract User Info

Required. Specifies how to extract information about the user from the working object.

User ID Expression

Required. An expression that returns a string to be used as the user ID.

Example: $user.email

Roles Expression

Required. An expression that returns the list of roles this user is in.

Example: $user.groups.map(group => group.name)

Session: Time-To-Live in Seconds

Required. The number of seconds for which the session is active. Refer to OAuth session management for information on manually closing sessions.

Default value: 86400

Example: 90000

OAuth State: Time-To-Live in Seconds

Required. The number of seconds for which the OAuth state is active.

Default value: 300

Example: 1000

Description Use this rule to authenticate a client by delegating the authentication to an OAuth2 provider.

Default value: Authorizes requests using specified OAuth service.