如何使用外部提供者创建 JWT DRF 消费者?

How to create a JWT DRF consumer, with external provider?

我必须设置应用程序的 API 部分。

总而言之,有一个私有 oauth 提供程序、一个前端 angular 应用程序和一个 django rest 框架资源 API。 Angular 应用程序如果未登录则无法访问,并重定向到 oauth 提供程序。用户必须在那里登录并被重定向到前端。 到目前为止一切顺利,提供商为前端提供了一个 JWT 访问令牌。

然后前台向DRFAPI索取资源,提供JWT。 这就是我遇到的问题,我在 google 上找到的所有教程都解释了如何创建您自己的提供程序。 但我只想获取令牌,与 oauth 提供程序核实它是否有效,登录用户,提供资源,然后注销用户直到下一个请求。

谁能给我一些有用的tuto/doc/library?

谢谢。

因此,我最终创建了自己的自定义身份验证 class 扩展 BaseAuthentication(以及自定义用户、用户管理器...),因为我没有找到任何现有的库。

如果有人对细节感兴趣,您可以查看 DRF 文档和互联网上的许多资源。

P.S。如果您想 return 401 和 "raise AuthenticationFailed" 而不是 403(出于某种原因),请不要忘记扩展 authenticate_header。