Files
authelia/docs/content/integration/openid-connect/clients/open-webui/index.md
T
2026-09-09 11:35:34 +00:00

5.1 KiB
Raw Blame History

title, description, summary, date, draft, images, weight, toc, aliases, support, seo
title description summary date draft images weight toc aliases support seo
Open WebUI Integrating Open WebUI with the Authelia OpenID Connect 1.0 Provider. 2025-01-25T00:03:43+00:00 false
620 true
/integration/openid-connect/open-webui/
level versions integration
community true true
title description canonical noindex
Open WebUI | OpenID Connect 1.0 | Integration Step-by-step guide to configuring Open WebUI with OpenID Connect 1.0 for secure SSO. Enhance your login flow using Authelia’s modern identity management. false

Tested Versions

{{% oidc-common %}}

Assumptions

This example makes the following assumptions:

  • Application Root URL: https://ai.{{< sitevar name="domain" nojs="example.com" >}}/
  • Authelia Root URL: https://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/
  • Client ID: open-webui
  • Client Secret: insecure_secret

Some of the values presented in this guide can automatically be replaced with documentation variables.

{{< sitevar-preferences >}}

Configuration

Authelia

The following YAML configuration is an example Authelia client configuration for use with Open WebUI which will operate with the application example:

identity_providers:
  oidc:
    ## The other portions of the mandatory OpenID Connect 1.0 configuration go here.
    ## See: https://www.authelia.com/c/oidc
    clients:
      - client_id: 'open-webui'
        client_name: 'Open WebUI'
        client_secret: '$pbkdf2-sha512$310000$c8p78n7pUMln0jzvd4aK4Q$JNRBzwAo0ek5qKn50cFzzvE9RXV88h1wJn5KGiHrD0YKtZaR/nCb2CJPOsKaPK0hjf.9yHxzQGZziziccp6Yng'  # The digest of 'insecure_secret'.
        public: false
        authorization_policy: 'two_factor'
        require_pkce: true
        pkce_challenge_method: 'S256'
        redirect_uris:
          - 'https://ai.{{< sitevar name="domain" nojs="example.com" >}}/oauth/oidc/callback'
        scopes:
          - 'openid'
          - 'profile'
          - 'groups'
          - 'email'
        response_types:
          - 'code'
        grant_types:
          - 'authorization_code'
        access_token_signed_response_alg: 'none'
        userinfo_signed_response_alg: 'none'
        token_endpoint_auth_method: 'client_secret_basic'

Application

To configure Open WebUI there is one method, using the Environment Variables.

Environment Variables

{{< callout context="tip" title="Did you know?" icon="outline/rocket" >}} This configuration limits who can log in to those with the openwebui or openwebui-admin groups. This is configured via the OAUTH_ALLOWED_ROLES environment variable. Anyone with the openwebui-admin group will be an admin for the application. This is configured via the OAUTH_ADMIN_ROLES environment variable. {{< /callout >}}

To configure Open WebUI to utilize Authelia as an OpenID Connect 1.0 Provider, use the following environment variables:

Standard
WEBUI_URL=https://ai.{{< sitevar name="domain" nojs="example.com" >}}
ENABLE_OAUTH_SIGNUP=true
OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true
OAUTH_CLIENT_ID=open-webui
OAUTH_CLIENT_SECRET=insecure_secret
OPENID_PROVIDER_URL=https://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/.well-known/openid-configuration
OAUTH_PROVIDER_NAME=Authelia
OAUTH_SCOPES=openid email profile groups
ENABLE_OAUTH_ROLE_MANAGEMENT=true
OAUTH_ALLOWED_ROLES=openwebui,openwebui-admin
OAUTH_ADMIN_ROLES=openwebui-admin
OAUTH_ROLES_CLAIM=groups
OAUTH_CODE_CHALLENGE_METHOD=S256
Docker Compose
services:
  open-webui:
    environment:
      WEBUI_URL: 'https://ai.{{< sitevar name="domain" nojs="example.com" >}}'
      ENABLE_OAUTH_SIGNUP: 'true'
      OAUTH_MERGE_ACCOUNTS_BY_EMAIL: 'true'
      OAUTH_CLIENT_ID: 'open-webui'
      OAUTH_CLIENT_SECRET: 'insecure_secret'
      OPENID_PROVIDER_URL: 'https://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/.well-known/openid-configuration'
      OAUTH_PROVIDER_NAME: 'Authelia'
      OAUTH_SCOPES: 'openid email profile groups'
      ENABLE_OAUTH_ROLE_MANAGEMENT: 'true'
      OAUTH_ALLOWED_ROLES: 'openwebui,openwebui-admin'
      OAUTH_ADMIN_ROLES: 'openwebui-admin'
      OAUTH_ROLES_CLAIM: 'groups'
      OAUTH_CODE_CHALLENGE_METHOD: 'S256'

See Also