正在努力使其完全正常运行-这是我的应用工作流程:
反应前端-用户直接使用Cognito进行身份验证(使用AWS Amplify)-我的工作正常。前端需要处理此问题,因为它会分别直接调用其他AWS服务。
DRF后端-React然后使用Amplify.API对DRF端点进行API调用,该API在请求标头中包含x-amz-security-token(这似乎是Amplify对cognito-idp的调用返回的会话令牌服务)。所以现在后端有了会话令牌(但没有访问令牌或刷新令牌)
然后,后端只需根据Cognito验证前端用户(我认为其身份验证由会话令牌表示)是有效且当前已验证的用户。因此,后端需要单独调用Cognito进行验证。
这是我要失败的地方-我看过django-warrant,但是我无法从文档中辨别这是否适合我的用例(甚至是如何真正使用它-建议使用默认设置)导致各种boto3错误(缺少凭证等)。我也查看了权证,直接查看了boto3和botocore,但我不清楚在哪里进行所有这些操作。我是否想不到在这些库中看到某种is_user_valid和is_session_token_valid方法?
如果有人知道如何使用django-warrant直接这样做,将会有所帮助,并且如果没有关于最佳前进方式的一点建议,我们也将不胜感激(我编写了自己的身份验证支持或中间件来拦截请求,通过boto3或botocore以某种方式进行身份验证,还是什么?)
非常感谢