Skip to main content

Authentication

Releval supports email/password authentication by default, with optional OAuth providers for single sign-on.

Registration

VariableDefaultDescription
Registration__EnabledtrueWhether self-registration is allowed
Registration__AllowedDomain(none)Restrict registration to a specific email domain

Restricting Registration

To allow only users from your organization:

environment:
- Registration__Enabled=true
- Registration__AllowedDomain=example.com

This only allows email addresses ending in @example.com to register. Users outside this domain can still be added via admin invitation.

To disable self-registration entirely and require admin invitations:

environment:
- Registration__Enabled=false

OAuth Providers

Releval supports Google and GitHub as external authentication providers. When configured, users see additional login options on the sign-in page.

Google

VariableDescription
Authentication__Google__ClientIdGoogle OAuth 2.0 client ID
Authentication__Google__ClientSecretGoogle OAuth 2.0 client secret

To set up Google authentication:

  1. Create a project in the Google Cloud Console
  2. Navigate to APIs & Services > Credentials
  3. Create an OAuth 2.0 Client ID (Web application type)
  4. Add https://<your-releval-host>/api/auth/login-google as an authorized redirect URI
  5. Set the client ID and secret:
environment:
- Authentication__Google__ClientId=your-client-id.apps.googleusercontent.com
- Authentication__Google__ClientSecret=your-client-secret

GitHub

VariableDescription
Authentication__GitHub__ClientIdGitHub OAuth App client ID
Authentication__GitHub__ClientSecretGitHub OAuth App client secret

To set up GitHub authentication:

  1. Go to Settings > Developer Settings > OAuth Apps in GitHub
  2. Create a new OAuth App
  3. Set the Authorization callback URL to https://<your-releval-host>/api/auth/login-github
  4. Set the client ID and secret:
environment:
- Authentication__GitHub__ClientId=your-client-id
- Authentication__GitHub__ClientSecret=your-client-secret

JWT Settings

JWT tokens are used for App Client authentication via the OAuth 2.0 client credentials flow.

VariableDefaultDescription
JwtSettings__Key(default key)Secret key for signing JWT tokens
JwtSettings__Issuerhttps://releval.coToken issuer
JwtSettings__Audiencehttps://releval.coToken audience
JwtSettings__ExpireTimeSpan01:00:00Token expiration (1 hour)
Info

Change the default JWT key for production deployments. The key must be at least 512 bits (64 bytes) for the HS512 algorithm.

Encryption Key

Releval encrypts sensitive data at rest (such as endpoint authentication credentials) using AES-256 encryption.

VariableDefaultDescription
AesEncryptor__Key(default key)Base64-encoded 256-bit key for AES encryption
Info

Change the default encryption key for production deployments. Generate a new key by creating a random 32-byte value and base64-encoding it.

Password Policy

Releval enforces the following password requirements:

  • Minimum 8 characters
  • At least one uppercase letter
  • At least one lowercase letter
  • At least one digit
  • At least one non-alphanumeric character