1

我已经在 NuxtJS 站点上使用 javascript 库 Axios成功设置了feedly 开发人员访问令牌。但是,我在弄清楚如何设置刷新令牌时遇到了麻烦。

这是我用于开发者令牌的过程

export default function({ $axios }) {
  $axios.onRequest((config) => {
    config.headers.common['Authorization'] = [FEEDLY_ACCESS_TOKEN]
  })
}

每当我提出相关的 axios 请求时,此代码就会运行。

我现在想知道的是我需要为刷新令牌做些什么。我查看了这两页上的说明:

但是,我仍然不是 100% 清楚我应该做什么。特别是,我有两个问题:

  1. 每次进行 axios 调用时我是否也运行刷新令牌 - 或者我应该创建一个每三十天运行一次并运行代码的函数。

  2. 我究竟如何让 axios 调用刷新令牌。我最初的猜测是这样的:

$axios.$post('https://cloud.feedly.com/v3/auth/token/?refresh_token=FEEDLY_REFRESH_TOKEN&client_id=feedlydev&client_secret=feedlydev&grant_type=refresh_token')

那是对的吗?如果没有,我需要改变什么。

谢谢。

4

1 回答 1

0

不同的开发人员将使用不同的策略来刷新访问令牌。虽然有些人会在每次请求时返回一个新令牌,但其他人会在几天或更长时间内完成。
这个想法是为了减少访问令牌可能被滥用的风险窗口,但它是一个主观主题。显然,当您在每个请求上生成新的访问令牌时,性能会受到影响。有时这可能是可以接受的,但我真的认为在很多情况下没有必要。在你的案例中衡量惩罚和代币敏感性之间的权衡。

文档很好地解释了它:

端点:

POST /v3/auth/token

它确实说不推荐使用 url 参数,那么为什么不按照他们推荐的方式来做呢?任何一个:

  • 使用 x-www-form-urlencoded POST 请求(标准)
  • 作为 JSON 对象(确保将 Content-Type 标头设置为“application/json”)

您对此还有更多疑问吗?

于 2019-11-27T20:40:00.393 回答