我了解Django管理员使用会话和基本身份验证。
domain/admin/*
,重定向到AWS中的登录redirect_uri
,并进入Django视图code
替换为令牌login()
用户request.META
都有HTTP_AUTHORIZATION
,并使用合适的后端。谢谢!
如果我login()
用户,并将其设置为我已经拥有的模型后端,则可以导航到任何管理页面-但使用登录用户时创建的会话。
我希望将用户设置为一个新的模型后端,并使用使用令牌的身份验证(来自Django backend docs):
class MyBackend:
def authenticate(self, request, token=None):
# Check the token and return a user.
...
NewUserModel
设置为1-1,然后在其中放置令牌字段)HTTP_AUTHORIZATION
中(该用户位于由于DRF导致的每个请求)我的解决方案越来越像this stack solution,我很想知道是否还有其他选择,但这是我到目前为止所做的:
process_request
中的任何请求,并且可以访问用户。从上面的#1访问用户的相关模型时,我可以在其中看到令牌。HTTP_AUTHORIZATION
头,但是还不能这样做(当前卡在此处)HTTP_AUTHORIZATION
-尚不存在。我最终还是按原样使用了Django会话-用户一旦通过AWS-Cognito进行身份验证,就可以安全地假定它是合法用户。
然后,我只是转储Cognito-JWT,并login()
个用户。