猿问

在 Node Express 路由中解析带有特殊字符的 URL

我尝试在身份验证过程中使用 AWS Cognito 返回的特殊字符解析 URL。

我找不到检索“id_token”参数的方法,因为 NodeJs req 似乎没有包含 # 之后的所有内容

我试过使用 req.query、req.originaURl 等等。我可能错过了一些东西

这是返回的链接http://localhost:8080/auth#id_token=eyJraWQiOiERubiJ5AwdK9Rzau6BX0lYLQCvFDoGv1boLMnKnRexpires_in=3600&token_type=Bearer

预期结果应返回#id_token 的值


呼唤远方
浏览 262回答 3
3回答

MM们

#URL 中的符号是片段标识符,它不会传输到服务器。在此处阅读更多相关信息

三国纷争

# 只能在客户端访问,因此您需要创建一个请求并将令牌发送到服务器,例如:var tokenParams = window.location.hash.substr(1);

慕斯王

没有看到你的代码很难提供帮助。此外,如果无法查看从该 URL 返回的内容,则很难为您进行测试。分配给 hash 属性的值中包含的 URL 字符是 precent-encoded。查看 url.hash 的 Node.js 文档,它可用于获取和设置 URL 的片段部分。我相信这应该会有所帮助。转到https://nodejs.org/api/url.html并搜索 url.hash。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答