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

时间:2019-07-15 13:23:15

标签: python django-rest-framework jwt single-sign-on

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

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

然后,前台向提供JWT的DRF API索要资源。 那就是我被困住的地方,我在Google上找到的所有教程都说明了如何创建自己的提供程序。 但是我只想获取令牌,与oauth提供商联系以检查其是否有效,登录用户,提供资源,然后注销用户,直到下一个请求为止。

如果有人可以给我一些有用的tuto / doc / library?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

P.S。不要忘了扩展authenticate_header是您要返回“ raise AuthenticationFailed”而不是403(出于某种原因)。