【问题标题】:How to get the "fragment" part of an url in a nuxt middleware?如何在 nuxt 中间件中获取 url 的“片段”部分?
【发布时间】:2020-04-16 19:27:09
【问题描述】:

我想在“隐式”oauth 流中从 AWS COGNITO 重定向后获取 url 中的 access_token。 AWS Cognito 将浏览器重定向到:https://mydomain/#access_token=xxxxx

我想在 nuxt“中间件”中获取“access_token=xxxxx”部分进行存储。

它不会出现在“context.req”对象中。我在哪里可以找到它?

【问题讨论】:

  • 可能在context.$route。
  • 唉,context.$route 是空的 :( 我需要添加特定的模块吗?
  • 我尝试了console.warn(context),但 access_token 不存在...
  • 您是否在 SSR 模式下使用 Nuxt?片段永远不会发送到服务器,这是您只能在浏览器中执行的操作。它应该在$route.hash 属性中。
  • 该死的!是的,我使用 SSR 模式,我想针对需要一些 SEO 的未来项目进行测试。但是经过仔细考虑,我确实不需要“连接”的信息服务器端......“个人信息”不会暴露给搜索引擎或缓存。谢谢!

标签: nuxt.js url-fragment


【解决方案1】:

隐式流程不会像授权流程那样返回授权码。您将直接在响应正文中获取访问令牌。

这是一个包含更多信息的链接。

Implicit Flow

【讨论】:

  • OP 写的是 我想得到 access_token
  • 正如我所说,访问令牌在正文中。授权码在 URI 中。访问令牌出现在响应正文中。
  • aws.amazon.com/blogs/mobile/… -> 读取 Amazon Cognito 在隐式流中的作用以及它放置数据的位置。然后阅读 OP 的要求,并尝试找出您发布错误答案的原因。
  • NB 是对的,Cognito 将访问令牌放在 url 的片段部分,而不是在正文中......我找不到改变这种行为的方法......所以我坚持这个......
猜你喜欢
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
  • 1970-01-01
  • 2022-12-28
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多