Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
0c3f9a16
Commit
0c3f9a16
authored
Jun 28, 2024
by
Sergey Mihaylin
Browse files
custom env for set custom claims for openid
parent
24b638fc
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
2 deletions
+21
-2
backend/apps/webui/main.py
backend/apps/webui/main.py
+5
-0
backend/config.py
backend/config.py
+12
-0
backend/main.py
backend/main.py
+4
-2
No files found.
backend/apps/webui/main.py
View file @
0c3f9a16
...
@@ -39,6 +39,8 @@ from config import (
...
@@ -39,6 +39,8 @@ from config import (
WEBUI_BANNERS
,
WEBUI_BANNERS
,
ENABLE_COMMUNITY_SHARING
,
ENABLE_COMMUNITY_SHARING
,
AppConfig
,
AppConfig
,
OAUTH_USERNAME_CLAIM
,
OAUTH_PICTURE_CLAIM
)
)
import
inspect
import
inspect
...
@@ -74,6 +76,9 @@ app.state.config.BANNERS = WEBUI_BANNERS
...
@@ -74,6 +76,9 @@ app.state.config.BANNERS = WEBUI_BANNERS
app
.
state
.
config
.
ENABLE_COMMUNITY_SHARING
=
ENABLE_COMMUNITY_SHARING
app
.
state
.
config
.
ENABLE_COMMUNITY_SHARING
=
ENABLE_COMMUNITY_SHARING
app
.
state
.
config
.
OAUTH_USERNAME_CLAIM
=
OAUTH_USERNAME_CLAIM
app
.
state
.
config
.
OAUTH_PICTURE_CLAIM
=
OAUTH_PICTURE_CLAIM
app
.
state
.
MODELS
=
{}
app
.
state
.
MODELS
=
{}
app
.
state
.
TOOLS
=
{}
app
.
state
.
TOOLS
=
{}
app
.
state
.
FUNCTIONS
=
{}
app
.
state
.
FUNCTIONS
=
{}
...
...
backend/config.py
View file @
0c3f9a16
...
@@ -395,6 +395,18 @@ OAUTH_PROVIDER_NAME = PersistentConfig(
...
@@ -395,6 +395,18 @@ OAUTH_PROVIDER_NAME = PersistentConfig(
os
.
environ
.
get
(
"OAUTH_PROVIDER_NAME"
,
"SSO"
),
os
.
environ
.
get
(
"OAUTH_PROVIDER_NAME"
,
"SSO"
),
)
)
OAUTH_USERNAME_CLAIM
=
PersistentConfig
(
"OAUTH_USERNAME_CLAIM"
,
"oauth.oidc.username_claim"
,
os
.
environ
.
get
(
"OAUTH_USERNAME_CLAIM"
,
"name"
),
)
OAUTH_PICTURE_CLAIM
=
PersistentConfig
(
"OAUTH_USERNAME_CLAIM"
,
"oauth.oidc.avatar_claim"
,
os
.
environ
.
get
(
"OAUTH_PICTURE_CLAIM"
,
"picture"
),
)
def
load_oauth_providers
():
def
load_oauth_providers
():
OAUTH_PROVIDERS
.
clear
()
OAUTH_PROVIDERS
.
clear
()
...
...
backend/main.py
View file @
0c3f9a16
...
@@ -1920,11 +1920,13 @@ async def oauth_callback(provider: str, request: Request, response: Response):
...
@@ -1920,11 +1920,13 @@ async def oauth_callback(provider: str, request: Request, response: Response):
# If the user does not exist, check if signups are enabled
# If the user does not exist, check if signups are enabled
if
ENABLE_OAUTH_SIGNUP
.
value
:
if
ENABLE_OAUTH_SIGNUP
.
value
:
# Check if an existing user with the same email already exists
# Check if an existing user with the same email already exists
existing_user
=
Users
.
get_user_by_email
(
user_data
.
get
(
"email"
,
""
).
lower
())
email_claim
=
webui_app
.
state
.
config
.
OAUTH_USERNAME_CLAIM
existing_user
=
Users
.
get_user_by_email
(
user_data
.
get
(
email_claim
,
""
).
lower
())
if
existing_user
:
if
existing_user
:
raise
HTTPException
(
400
,
detail
=
ERROR_MESSAGES
.
EMAIL_TAKEN
)
raise
HTTPException
(
400
,
detail
=
ERROR_MESSAGES
.
EMAIL_TAKEN
)
picture_url
=
user_data
.
get
(
"picture"
,
""
)
picture_claim
=
webui_app
.
state
.
config
.
OAUTH_PICTURE_CLAIM
picture_url
=
user_data
.
get
(
picture_claim
,
""
)
if
picture_url
:
if
picture_url
:
# Download the profile image into a base64 string
# Download the profile image into a base64 string
try
:
try
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment