Skip to content

Commit 2e7172b

Browse files
committed
Add WebServer section for corenode OIDC configuration
1 parent 11b456b commit 2e7172b

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

src/content/chainlink-nodes/v1/node-config.mdx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,76 @@ UnauthenticatedPeriod = '20s' # Default
905905

906906
UnauthenticatedPeriod defines the period to which unauthenticated requests get limited.
907907

908+
## WebServer.OIDC
909+
910+
```toml
911+
[WebServer.OIDC]
912+
ClientID = "abc123" # Example
913+
ProviderURL = "https://id.example.com/oauth2/default" # Example
914+
RedirectURL = "https://your-node.example.com/signin" # Default
915+
ClaimName = 'groups' # Default
916+
AdminClaim = 'NodeAdmins' # Default
917+
EditClaim = 'NodeEditors' # Default
918+
RunClaim = 'NodeRunners' # Default
919+
ReadClaim = 'NodeReadOnly' # Default
920+
SessionTimeout = '15m0s' # Default
921+
UserApiTokenEnabled = false # Default
922+
UserAPITokenDuration = '240h0m0s' # Default
923+
```
924+
925+
Optional OIDC configuration (when `WebServer.AuthenticationMethod` is set to `oidc`) enables SSO via OpenID Connect. Register a new OIDC application with your identity provider to get a Client ID and Secret for the TOML fields. When OIDC is enabled, the chainlink node will redirect users to the provider and use the returned ID token for authentication and role assignment. The Client Secret should be populated in the your `secrets.toml` as follows:
926+
927+
```toml
928+
[WebServer.OIDC]
929+
clientSecret = "secret" # Example
930+
```
931+
932+
### ClientID
933+
934+
`ClientID` is the identifier issued by your OIDC provider when registering the Chainlink node application. It represents the expected audience of the ID token. **Required**.
935+
936+
### ProviderURL
937+
938+
`ProviderURL` is the base issuer or discovery URL for your OIDC provider (e.g., the `.well-known/openid-configuration` endpoint). **Required**.
939+
940+
### RedirectURL
941+
942+
`RedirectURL` is the callback URL on the Chainlink node (this should be path: `/signin`) to which the IdP redirects after login. This must match the allowed redirect URIs configured in your IdP. **Required**.
943+
944+
### ClaimName
945+
946+
`ClaimName` specifies the JWT claim containing group or role information (default: `groups`). Change if your provider uses a different claim name.
947+
948+
### AdminClaim
949+
950+
`AdminClaim` is the claim value (within `ClaimName`) that maps to the Chainlink **Admin** role (default: `NodeAdmins`).
951+
952+
### EditClaim
953+
954+
`EditClaim` is the claim value that maps to the **Edit** role (default: `NodeEditors`).
955+
956+
### RunClaim
957+
958+
`RunClaim` is the claim value that maps to the **Run** role (default: `NodeRunners`).
959+
960+
### ReadClaim
961+
962+
`ReadClaim` is the claim value that maps to the **Read-Only** role (default: `NodeReadOnly`).
963+
964+
### SessionTimeout
965+
966+
`SessionTimeout` defines how long an OIDC session can remain idle before timing out (default: `15m0s`).
967+
968+
### UserApiTokenEnabled
969+
970+
`UserApiTokenEnabled` enables OIDC users to generate API tokens with the same permissions as their role (default: `false`).
971+
972+
### UserAPITokenDuration
973+
974+
`UserAPITokenDuration` sets the lifespan of API tokens issued by OIDC users (default: `240h0m0s`).
975+
976+
> **Note:** Configure the OIDC client’s secret (`WebServer.OIDC.ClientSecret`) via the node’s secret management (e.g., environment variable `CL_WEB_SERVER_OIDC_CLIENT_SECRET`). Keep the client secret secure and do not expose it in plaintext configuration.
977+
908978
## WebServer.MFA
909979

910980
```toml

0 commit comments

Comments
 (0)