我有一个基于 django 的 Web 应用程序,客户端要求我们将登录名与 Azure AD 集成,遵循我设法与以下流程集成的文档。在 django 中,用户只输入电子邮件,我识别用户和他的公司并将他重定向到微软广告登录屏幕,登录后,重定向 uri 被激活,在我看来,我做了一些验证并在我的系统上对用户进行身份验证。问题是,每次客户要登录时,他都需要在azure中输入他的凭据,是否可以使用microsoft user_id或用户第一次登录时获得的令牌?或者其他更快的登录方式?
这是我的回调视图,在 redirect_uri 中调用:
def callback(request):
user_id = request.session.pop('user_id', '')
user_internal = User.objects.filter(id=user_id).first()
company_azure = CompanyAzureAd.objects.filter(company=user_internal.employee.firm).first()
# Get the state saved in session
expected_state = request.session.pop('auth_state', '')
# Make the token request
url = request.build_absolute_uri(request.get_full_path())
token = get_token_from_code(url, expected_state, company_azure)
# Get the user's profile
user = get_user(token) #in this moment i have user microsoft profile, with token and id
# Save token and user
store_token(request, token)
store_user(request, …Run Code Online (Sandbox Code Playgroud)