使用不记名令牌的正确应用程序架构是什么?

What is the correct application architecture to work with bearer tokens?

我想与使用 OAuth 2.0

的 API 合作

简而言之,我需要获得一个访问令牌,我必须将其包含在每个后续请求中,以便服务器可以确认我的身份。

架构在应用程序中看起来如何?谁能推荐一篇文章?

目前,为了执行请求,我无法高效地从 API 中获取每个请求的新令牌。

是否有保存不记名令牌并在其过期之前重复使用它的最佳做法?

我想为我的应用程序使用 Vue.js。

如您所说,在每次请求时都请求一个新令牌是没有意义的。

登录后最好的方法是将返回的令牌存储在本地存储中,这样无论用户是否刷新浏览器,应用程序都会从​​存储中获取 Bearer。

完成后,您应该在每个 axios 请求中附加当前有效的 Bearer 令牌。即:

axios.defaults.headers = {
    common: {
        'X-Requested-With': 'XMLHttpRequest',
        'Access-Control-Allow-Origin': '*',
        'Authorization': 'Bearer ajsyHjdjkakl;ds......'
    }
}

仅供参考,有很多包可以帮助您处理这个问题,否则,请准备好面对一些令人头疼的问题。我个人从很久以前就用过这个:https://websanova.com/docs/vue-auth/home