Additional audit logging for OAuth 2.0

Additional audit logging for OAuth 2.0

Introduction

In certain situations it's helpful to have a more granular audit trail. Additional audit logging for OAuth 2.0 applications can be enabled using an application compatibility flag ExtendedOAuth2AuditLogging. More information about OAuth 2.0 integrations and flags can be found in OAuth 2.0 integration guide - SSO.

Entry types

This adds the following entry types:

  • Authentication request

  • Token granted

Authentication request

An "authentication request" entry is logged when a properly formatted OAuth 2.0 authorization request is received from a client.

"Authentication request"-entry format

Field name

Timestamp

IP-Address

Entry type

Session identifier

Authentication request origin

Scopes

ACR values

User agent

Example values

"2003-08-25 12:57:02,622"

"192.168.0.66"

"authentication request"

"dfff2af759817ce44c3d31654e1b573"

"cn=service,ou=example,dc=example"

"openid scope1"

"acrvalue1 acrvalue2"

"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"

Where fields are:

Field Name

Description

Field Name

Description

Session ID

Unique identifier generated for the single sign-on session when it is created.

Authentication Request Origin

The LDAP name of the client application which initiated the authentication process.

Scopes

Scopes that were sent in the authentication request.

ACR values

ACR values that were sent in the authentication request.

User Agent

Identification of the Web client used for authentication from the "User-Agent" HTTP request header.

Example:

"2003-08-25 12:57:02,622", "192.168.0.66", "authentication request", "dfff2af759817ce44c3d31654e1b573", "cn=service,ou=example,dc=example", "openid scope1", "acrvalue1 acrvalue2", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"

Token granted

A "token granted" entry is logged for valid OAuth 2.0 token requests, i.e. when an access token is issued to the calling client. Usually token endpoint is called from backend so in those situations the User Agent field will not have a value.

Field name

Timestamp

IP-Address

Entry type

Session identifier

Authentication request origin

Granted Scopes

Audiences

Authentication method

Ubisecure user ID

Web Application User ID

User agent

Example values

"2003-08-25 12:57:02,622"

"192.168.0.66"

"token granted"

"dfff2af759817ce44c3d31654e1b573"

"cn=service,ou=example,dc=example"

"openid scope1"

"client.id.1 client.id.2"

"authn.1"

"uid=010101+2221,cn=authn.1,cn=Server,ou=System,dc=example"

"mappedUsername"

"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"

"Token granted"-entry format

Where fields are:

Field Name

Description

Field Name

Description

Session ID

Unique identifier generated for the single sign-on session when it is created.

Authentication Request Origin

The LDAP name of the client application which initiated the authentication process.

Granted Scopes

Space separated list of scopes that were granted. These are the scopes from the authentication request that are authorized based on application configuration and authorization policy.

Audiences

Audiences are relevant only for OAuth2 applications including OpenID Connect. If a scope an application is requesting refers to another application with that applications client ID in SSO, the IDs of those applications are listed in this column. This entry uses a space as the delimiter between of the application client IDs.

Authentication Method

Name of the used authentication method.

Ubisecure User ID

Unique identifier for the user. For users registered in the user directory this is the users LDAP name, and for other users this ID is formed from the Authentication Method User ID and the LDAP name of the authentication method used.

Web Application User ID

The username sent to the application. The source of this data depends on the type of the application.

Administrators can override this by setting a value in the authorization policy with attribute name 'username' which allows customizing the logged value.

User Agent

Value of User-Agent HTTP request header.

Example:

"2003-08-25 12:57:02,622", "192.168.0.66", "token granted", "dfff2af759817ce44c3d31654e1b573", "cn=service,ou=example,dc=example", "openid scope1", "client.id.1 client.id.2", "authn.1" "uid=010101+2221,cn=authn.1,cn=Server,ou=System,dc=example", "mappedUsername", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"