我正在制作一个 REST 服务器,它将同时具有单页应用程序形式的 Web 客户端和本机移动应用程序形式的 Web 客户端。我正在研究使用 JWT 使服务器无状态。到目前为止,我的理解是:
- 身份验证端点在提供正确的凭据后返回两个令牌,即访问令牌和刷新令牌。
- 出于安全原因,这些令牌应存储在浏览器上的“httpOnly”cookie 中。
据我所知,本机移动应用程序没有 cookie 存储,因此它们有一些其他数据存储用于应用程序,例如数据库。那么,我是否需要为这些不同的应用程序实现两个不同的端点?我想做的是:
- 端点 1(对于单点应用程序):接受 json 中的用户凭据并在 cookie 中返回 jwt
- 端点 2(对于本机移动应用程序):接受 json 中的用户凭据并返回原始 json 正文中的 jwt。
上述方法是否正确,或者我们对它们都有一个端点。还可以帮助如何使用 django-rest-framework-simplejwt 实现这一目标。