gpt4 book ai didi

django - 将 AzureAD 中的角色映射到 Django 组

转载 作者:行者123 更新时间:2023-12-05 05:51:38 27 4
gpt4 key购买 nike

好的,我现在可以使用 django-microsoft-auth 通过 AzureAD 在 Django 中执行 SSO .但我也想管理那里的小组。为此,我们配置为在 token 中传递角色。但是我如何将它们映射到 Django 组?我似乎找不到任何例子。

最佳答案

找到了。对于有相同问题的任何人,您必须使用“MICROSOFT_AUTH_AUTHENTICATE_HOOK”设置。

我在我的“应用程序”中创建了一个名为 aad.py 的模块:

import jwt
def add_to_group(user, token):
from django.contrib.auth.models import Group
id_token = token['id_token']
token_data = jwt.decode(id_token, options={"verify_signature": False})
roles = token_data.get('roles', [])
user.groups.clear()
for r in roles:
current_group, created = Group.objects.get_or_create(name=r)
current_group.user_set.add(user)

在设置中我添加了以下设置:

MICROSOFT_AUTH_AUTHENTICATE_HOOK = "myApp.aad.add_to_group"

当然,事情可能会更整洁,但它现在有效。

关于django - 将 AzureAD 中的角色映射到 Django 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70347975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com