Skip to content

Commit b863302

Browse files
committed
feat: check access token for group membership; fix #43
1 parent a48f663 commit b863302

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

mlflow_oidc_auth/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ def __init__(self):
5858
app.logger.error(f"Cache module for {self.CACHE_TYPE} could not be imported.")
5959

6060

61-
config = AppConfig()
61+
config = AppConfig()

mlflow_oidc_auth/views/authentication.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from flask import redirect, session, url_for, render_template
44

55
import mlflow_oidc_auth.utils as utils
6-
from mlflow_oidc_auth.auth import get_oauth_instance
6+
from mlflow_oidc_auth.auth import get_oauth_instance, validate_token
77
from mlflow_oidc_auth.app import app
88
from mlflow_oidc_auth.config import config
99
from mlflow_oidc_auth.user import create_user, populate_groups, update_user
@@ -48,7 +48,13 @@ def callback():
4848

4949
user_groups = importlib.import_module(config.OIDC_GROUP_DETECTION_PLUGIN).get_user_groups(token["access_token"])
5050
else:
51-
user_groups = token["userinfo"][config.OIDC_GROUPS_ATTRIBUTE]
51+
group_attr = config.OIDC_GROUPS_ATTRIBUTE
52+
user_info = token["userinfo"]
53+
decoded_access_token = validate_token(token["access_token"])
54+
if group_attr in decoded_access_token:
55+
user_groups = decoded_access_token[group_attr]
56+
if group_attr in user_info:
57+
user_groups = user_info[group_attr]
5258

5359
app.logger.debug(f"User groups: {user_groups}")
5460

0 commit comments

Comments
 (0)