我有一个.Net Core API,它使用对称密钥提供基本的承载授权,从而在成功登录时生成JWT。它在Docker容器内运行,并且不维护状态。我们称之为 API 1
此端点由移动应用程序POST /Authenticate
调用。由第三方开发和维护此移动应用。
此端点的业务逻辑是:
因此,此JWT返回到Native App客户端,并且有60分钟的有效期(尽管我看到那15分钟的时间更常见。)。此令牌需要使用授权标头Authorization: Bearer xyz123etc
SO ,旨在保持 API 1 可扩展和无状态,并且无需将表添加到 API 1 的后端数据库中存储刷新令牌,我可以不为 API 1 提供'Refresh'令牌吗?
我的想法是,移动应用应该应该能够登录一次,存储在SharedPreferences / NSUserDefaults中使用的UN / PW,并且如果客户端曾经从 API 1 中获得未经授权的401,在GET /SomeProtectedResource
上,客户端只需要再次调用POST Authenticate
,即可从 API 2 获取新的JWT,然后重试调用GET /SomeProtectedResource
我在这里有毛病吗?我看不到需要提供“刷新令牌”端点