Skip to main content

Identity Providers

Configure Single Sign-On (SSO) with your identity provider.

GateKey Login with Multiple Providers

GateKey supports multiple identity providers simultaneously, allowing users to choose their preferred authentication method.

Supported Protocols​

  • OIDC (OpenID Connect) - Recommended
  • SAML 2.0 - For enterprise IdPs

Supported Providers​

  • Okta
  • Azure AD / Entra ID
  • Google Workspace
  • Keycloak
  • Auth0
  • OneLogin
  • Any OIDC/SAML 2.0 compliant provider

OIDC Configuration​

Okta​

  1. Create a new App Integration in Okta
  2. Select "OIDC - OpenID Connect"
  3. Select "Web Application"
  4. Configure redirect URI: https://vpn.yourcompany.com/api/v1/auth/oidc/callback
  5. Note the Client ID and Client Secret
auth:
oidc:
enabled: true
providers:
- name: "okta"
display_name: "Login with Okta"
issuer: "https://yourcompany.okta.com"
client_id: "your-client-id"
client_secret: "your-client-secret"
redirect_url: "https://vpn.yourcompany.com/api/v1/auth/oidc/callback"
scopes: ["openid", "profile", "email", "groups"]

Azure AD​

  1. Register an application in Azure AD
  2. Add redirect URI: https://vpn.yourcompany.com/api/v1/auth/oidc/callback
  3. Create a client secret
  4. Note the Application (client) ID and Directory (tenant) ID
auth:
oidc:
enabled: true
providers:
- name: "azure"
display_name: "Login with Microsoft"
issuer: "https://login.microsoftonline.com/{tenant-id}/v2.0"
client_id: "your-client-id"
client_secret: "your-client-secret"
redirect_url: "https://vpn.yourcompany.com/api/v1/auth/oidc/callback"
scopes: ["openid", "profile", "email"]

Google Workspace​

  1. Create OAuth credentials in Google Cloud Console
  2. Add authorized redirect URI: https://vpn.yourcompany.com/api/v1/auth/oidc/callback
  3. Download the JSON credentials
auth:
oidc:
enabled: true
providers:
- name: "google"
display_name: "Login with Google"
issuer: "https://accounts.google.com"
client_id: "your-client-id"
client_secret: "your-client-secret"
redirect_url: "https://vpn.yourcompany.com/api/v1/auth/oidc/callback"
scopes: ["openid", "profile", "email"]

Keycloak​

auth:
oidc:
enabled: true
providers:
- name: "keycloak"
display_name: "Login with SSO"
issuer: "https://keycloak.yourcompany.com/realms/your-realm"
client_id: "gatekey"
client_secret: "your-client-secret"
redirect_url: "https://vpn.yourcompany.com/api/v1/auth/oidc/callback"
scopes: ["openid", "profile", "email", "groups"]

Group Sync​

GateKey syncs groups from your IdP for access control. Configure your IdP to include groups in the token claims.

Okta Groups​

Add the "groups" claim to your Okta authorization server.

Azure AD Groups​

Add group claims in the Token Configuration section.

Multiple Providers​

You can configure multiple identity providers:

auth:
oidc:
enabled: true
providers:
- name: "okta"
display_name: "Employees"
# ... config
- name: "google"
display_name: "Contractors"
# ... config

Users will see a provider selection screen at login.