【问题标题】:redirect_uri not working with trailing backslashredirect_uri 不适用于尾随反斜杠
【发布时间】:2021-05-06 19:44:39
【问题描述】:

我使用 nuxt auth 进行社交登录:

    access_token_endpoint: 'https://****.**/social',
    access_type: 'offline',
    client_id: '688267128737845',
    grant_type: 'authorization_code',
    redirect_uri: 'http:localhost:3000/account/aanmelden',
    response_type: 'code',
    token_key: 'jwt',
    userinfo_endpoint: false

使用/account/aanmelden 代码有效,但是当我添加反斜杠/account/aanmelden/ 时,我无法再登录。

我已将 http://localhost:3000/account/aanmeldenhttp://localhost:3000/account/aanmelden/ 添加到 Facebook 应用上的有效 OAuth 重定向 URI 选项中。

有人知道会发生这种情况吗?

【问题讨论】:

  • 您是否也更改了显示的配置数据中redirect_uri 的值?
  • 将登录对话框返回的代码交换为访问令牌的 API 调用需要 exact 与登录对话框调用中使用的 redirect_uri 相同的值,再次传递(这是一种安全措施) - 因此,除非您的系统能够动态处理此问题,并将该参数值与登录对话框调用中实际使用的值匹配,否则这将不起作用。
  • 谢谢!咨询了我们的后端开发人员,对 facebook 的 api 调用不正确!
  • @misorude 如果您想在答案中发表评论,我很乐意接受:)。

标签: facebook oauth-2.0


【解决方案1】:

将登录对话框返回的代码交换为访问令牌的 API 调用需要再次传递登录对话框调用中使用的完全相同的 redirect_uri 值,这是一种安全措施。

除非您的系统能够动态处理此问题,并将该参数值与登录对话框调用中实际使用的值相匹配,否则您可能无法互换使用带斜杠和不带斜杠的两个版本。

【讨论】:

  • 我们基于前端的return_uri 在后端得到了一个动态的redirect_uri,因此它们始终保持同步。
猜你喜欢
  • 2020-05-20
  • 2012-04-27
  • 2010-09-14
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
相关资源
最近更新 更多