Python 未将用户分配给应用程序的角色时捕获oauthlib.oauth2.rfc6749.errors.CustomOAuth2Error

Python 未将用户分配给应用程序的角色时捕获oauthlib.oauth2.rfc6749.errors.CustomOAuth2Error,python,django,nginx,azure-active-directory,gunicorn,Python,Django,Nginx,Azure Active Directory,Gunicorn,我有一个通过Gunicorn运行的Django应用程序和一个使用Azure AD身份验证的Nginx代理(基于以下教程:) 当用户通过Azure AD登录到应用程序且未分配角色时,Django显示一个通用的500错误页面。我想向用户显示一些更有意义的内容,但我不知道在哪里需要捕获oauthlib.oauth2.rfc6749.errors.CustomOAuth2Error并显示它 我可以看到Django日志显示:“oauthlib.oauth2.rfc6749.errors.CustomOAu

我有一个通过Gunicorn运行的Django应用程序和一个使用Azure AD身份验证的Nginx代理(基于以下教程:)

当用户通过Azure AD登录到应用程序且未分配角色时,Django显示一个通用的500错误页面。我想向用户显示一些更有意义的内容,但我不知道在哪里需要捕获oauthlib.oauth2.rfc6749.errors.CustomOAuth2Error并显示它

我可以看到Django日志显示:“oauthlib.oauth2.rfc6749.errors.CustomOAuth2Error(需要交互)AADSTS50105:登录用户“{EmailHidden}”未分配给应用程序“[App ID]”(App Name)”的角色。”

是否在回调视图中,我必须以某种方式检查此错误? 我很希望Azure在默认情况下会显示错误消息,但情况似乎并非如此。

请参阅此以了解MSAL for Python中错误处理和异常处理的更多详细信息。更简单的方法是让应用程序基于错误捕获来处理自定义错误消息/自定义错误显示页面,使用e应用程序