Skip to main content

Graph Modeling OAuth2 Authentication Integration with GraphDB

09/04/2026

This guide outlines the procedure for implementing OAuth2 authentication between Graph Modeling (GM) and GraphDB using Keycloak as the Identity Provider (IdP).

Note

Please note that this topic is targeted primarily at existing Graph Modeling customers if they want to use this new functionality respectively if they do not use Keycloak. New Graph Modeling customers will be provided a preconfigured Keycloak realm supporting this functionality.

1. Keycloak Configuration (Identity Provider)

Before configuring the applications the Keycloak realm (typically poolparty) must be prepared with the appropriate client scopes and client definitions. This configuration is comprised of four phases:

  • Creating a Client Scope & Audience Mapping

  • Configuring the GraphDB Client

  • Configuring the Application Client

  • Assigning User Permission

2. Graph Modeling (GM) Application Configuration

To activate OAuth2 update the application configuration file. The property poolparty.graphdb.oauth.clientId is the minimum requirement to toggle this feature.

Configuration Key 

Description 

Default Value 

Required 

poolparty.graphdb.oauth.clientId 

The GraphDB OAuth2 client ID defined in Keycloak.

Yes 

poolparty.graphdb.oauth.method 

Authentication method. Allowed values: client_secret_basic, client_secret_post.

client_secret_basic 

No

poolparty.graphdb.oauth.scopes 

Comma-separated list of OIDC scopes.

openid,profile,roles 

No

3. GraphDB Database Configuration

The following properties must be set within GraphDB to enable OpenID Connect and OAuth2 authentication.

Configuration Key

Value

Notes

graphdb.auth.methods

openid

Enables OpenID Connect authentication.

graphdb.auth.database

oauth

Specifies the authentication database.

graphdb.auth.openid.issuer

http://<host>:<port>/auth/realms/poolparty

Uses your specific Keycloak realm URL.

Important

This realm has to match the actual realm configured in Graph Modeling under poolparty.keycloak.login.realm; The default value is poolparty .

graphdb.auth.openid.client_id

graphdb

Must match the Keycloak Client ID.

graphdb.auth.openid.token_type

access

Specifies token type for authentication.

graphdb.auth.openid.username_claim

preferred_username

Claim used to identify the user.

graphdb.auth.openid.auth_flow

code

Specifies the OAuth2 Authorization Code flow.

graphdb.auth.openid.token_audience

graphdb

Must match poolparty.graphdb.oauth.clientId.

graphdb.auth.openid.require_audience

true

Enforces audience claim validation.

graphdb.auth.oauth.roles_claim

resource_access.graphdb.roles

Path to roles; graphdb must match Client ID.

graphdb.auth.oauth.default_roles

ROLE_USER

Fallback role if no claims are found.

Tip

For more details on the configuration also refer to the following section.