diff --git a/backend/open_webui/utils/oauth.py b/backend/open_webui/utils/oauth.py index fc68105770..5ac189d48d 100644 --- a/backend/open_webui/utils/oauth.py +++ b/backend/open_webui/utils/oauth.py @@ -115,7 +115,13 @@ class OAuthManager: nested_claims = oauth_claim.split(".") for nested_claim in nested_claims: claim_data = claim_data.get(nested_claim, {}) - oauth_roles = claim_data if isinstance(claim_data, list) else [] + + oauth_roles = [] + + if isinstance(claim_data, list): + oauth_roles = claim_data + if isinstance(claim_data, str) or isinstance(claim_data, int): + oauth_roles = [str(claim_data)] log.debug(f"Oauth Roles claim: {oauth_claim}") log.debug(f"User roles from oauth: {oauth_roles}")