如何在 Python 中使用 JWT 实现基于角色的身份验证
Posted
技术标签:
【中文标题】如何在 Python 中使用 JWT 实现基于角色的身份验证【英文标题】:How to Implement Role Based Authentication with JWT in Python 【发布时间】:2020-07-29 01:37:33 【问题描述】:我希望在 Vue/FastApi 应用程序中实现基于角色的身份验证。我来自在 asp.net 中使用 Web 表单的背景,根据用户是管理员、经理还是员工等,隐藏和显示某些表单相当简单。有没有办法用 Vue 做到这一点/FastApi 与 JWT?
【问题讨论】:
【参考方案1】:您必须将身份验证一分为二:
通过 Vuejs 进行身份验证。这与 fastapi 无关。唯一共享的是,在登录时,vue 将向 fastapi 进行身份验证(就像中间人转发信息一样)。然后,Vue 将缓存接收到的 JWT 令牌(或接收到的任何令牌)并将其保存在会话中(以便在页面重新加载的情况下,用户不必再次登录)。用户注销后,立即从 vue 应用中删除令牌。
通过 FastAPI 进行身份验证。在这里,您只需使用用户名和密码进行身份验证,获取 JWT 令牌作为响应(或您想要的任何其他令牌)并将此类令牌用于以下请求。
基本上,一旦 vue 接收到用户密码,它就会向 fastapi api 进行身份验证,获取令牌并将其存储在某个地方(这取决于您如何实现它以及在 vuejs 上,我没有使用过所以我不能说任何东西)。
连接到您的背景,.net 表单等价物将是 vue 登录表单,但我建议您首先遵循一些关于 vuejs 的教程,以便首先了解它是如何工作的,并正确理解它是如何工作的,以及是实现某事的一些可能性。
【讨论】:
以上是关于如何在 Python 中使用 JWT 实现基于角色的身份验证的主要内容,如果未能解决你的问题,请参考以下文章