Configuration
All configuration for authentication your Keel application is done in the keelconfig.yaml file.
Configuring Tokens
You can configure your tokens like so:
auth:
tokens:
# Lifespan of the access token in seconds. Default is 24 hours.
accessTokenExpiry: 3600
# Lifespan of the refresh token in seconds. Default is 3 months.
refreshTokenExpiry: 604800
# Enable refresh token rotation. Default is true.
refreshTokenRotationEnabled: trueIt's recommended to keep the lifespan of an access token extremely short, since if they're stolen they can be used to access your application as a specific user. Refresh tokens are used to acquire new access tokens, and can live longer.
Redirect URL
For Single Sign-On, make sure to configure the redirectUrl. Users will be sent here after the auth/authorize/{provider} flow has successfully completed. An auth code will be provided in the query parameter code, which can then be used at the token endpoint to acquire an access and refresh token. We go into more detail about this on the Single Sign-On page.
Providers
Various providers can be configured. Depending on the type various other fields may be required.
| Parameter Name | Description |
|---|---|
type | The type of provider |
name | The unique name you give to this provider |
clientId | The client ID given to you by your provider |
Types of Providers
We support google, facebook, and gitlab out-of-the-box. See the providers page for more.
You can also configure your own custom OpenId Connect (oidc) provider type. Read on for more.
Out of the Box Providers
No additional fields need to be provided.
auth:
providers:
- type: google
name: google_client
clientId: hfjuwaa3a2983h1hfsdfCustom OpenID Connect Provider
| Parameter Name | Description |
|---|---|
issuerUrl | The provider's issuer URL used for discovery purposes |
auth:
providers:
# Custom OIDC
- type: oidc
name: Baidu
issuerUrl: https://dev-skhlutl45lbqkvhv.us.auth0.com
clientId: kasj28fnq09akClient Secret Configuration
This is only necessary for the Single Sign-On flow.
The name of the secret has the format AUTH_PROVIDER_SECRET_{name} where {name} is the UPPER_SNAKE_CASED name of the provider as configured in your keelconfig.yaml file. See the Single Sign-On page for more.