Oauth 错误 invalid_request:redirect_uri 未列入白名单

Posted

技术标签:

【中文标题】Oauth 错误 invalid_request:redirect_uri 未列入白名单【英文标题】:Oauth error invalid_request: The redirect_uri is not whitelisted 【发布时间】:2019-09-18 23:04:00 【问题描述】:

我正在尝试基于 documentation 使用 React 和 Node 开发一个应用程序:

我一步一步按照教程进行操作,但我一直在用这种 URL 格式测试应用程序:

我更换了 ngrok 地址和我的 shopify 商店,但出现 404 错误(找不到此页面。)

我在link 中发现了同样的问题。所以我将 .env 重命名为 process.env 但我仍然遇到同样的问题。

这是 .env 文件

package.json:

server.js:

错误:

【问题讨论】:

您的白名单上可能有错字或其他内容。查看这个 github 问题 - github.com/Shopify/shopify_app/issues/486 【参考方案1】:

我在这个错误中停留了 5 到 6 个小时,这只是因为我使用了 ngrok 并且 ngrok 中的 https 不能很好地工作...... 所以我将所有内容上传到带有 https 子域的真实服务器,现在一切正常

【讨论】:

【参考方案2】:

我在 .env 文件的 SHOPIFY_APP_URL 末尾有一个 '/',所以重定向 url 与 '//auth/callback' 错误

【讨论】:

【参考方案3】:

我想一旦你重新启动你的 ngrok 就会发生这种情况,并且你的 ngrok 地址 url 已经改变,你必须在以下部分手动更新你的新 ngrok:

您在应用设置中的 AppUrl 和重定向 URL。 (Shopify 仪表板)

在您定义 SHOPIFY_APP_URL 的 .env 文件中。 (代码编辑器)

【讨论】:

【参考方案4】:

我不小心使用了http 地址而不是https 地址。

【讨论】:

【参考方案5】:

对我来说这是因为我不小心注释掉了我设置 accessTokenshop

的代码

【讨论】:

【参考方案6】:

我面临的问题是 .env 文件中的 SHOPIFY_API_KEY 和 SHOPIFY_API_SECRET 在引号中,在您的情况下也是相同的。对于此引用错误,它也显示相同的错误。基本上这是错误的 API 密钥错误。您可以尝试删除引号并重试吗?

如果这不起作用,请检查您使用的是 HTTPS URL 而不是 HTTP

【讨论】:

【参考方案7】:

您的白名单重定向 URL 必须是 https

【讨论】:

【参考方案8】:

我做错了,我忘记将 /auth/callback 附加到转发 URL 到由以下命令生成的 Allowed redirection URL(s) 部分:

ngrok http 3000

所以重定向网址会像:

https://SOME_STRING.ngrok.io/auth/callback

【讨论】:

这条评论救了我,一些旧指令给出了过时的回调 url(或错误),如 SOME_STRING.ngrok.io/shoptify/callback【参考方案9】:

我不认为我的回答会帮助很多人,但无论如何我都会把它放在这里。所以我最近遇到了同样的问题,我尝试了 stack-overflow 和 shopify 社区中的所有内容。最后问题是我错误地复制了我的另一个应用程序的 apikey。因此,即使 apiKey 错误,您可能会遇到的错误也是相同的“重定向 uri 未列入白名单。”

【讨论】:

哎呀也这样做了!创建暂存/测试应用程序与生产。使用了错误的 API 键!! 我遇到了同样的问题,并且一直在尝试,来自 .env 的 API 密钥不匹配是我无法重定向 url 的问题。【参考方案10】:

是的,您的回调 URL 存在问题,您必须在您创建 shopify 应用的 shopify 合作伙伴帐户中定义您的应用 URL 和回调 URL

Shopify partner account

你必须这样做

打开应用 >> yourapp >> 应用设置 >> 插入 URL(列入白名单的重定向 URL)

将您的网址列入白名单后,问题就解决了

【讨论】:

我在做同样的事情,我只是忘记在应用程序 URL 的 http 中添加“s”。现在它正在工作 是的,shopify 只接受 https 端点,这就是为什么定义为 https 这个技巧对我有用:github.com/Shopify/shopify_app/issues/…

以上是关于Oauth 错误 invalid_request:redirect_uri 未列入白名单的主要内容,如果未能解决你的问题,请参考以下文章

Google Sign in API OAuth2 错误:youtube 范围内的“invalid_request”

Google OAuth 2.0 invalid_request,缺少方案

400 Invalid_request 您无法登录此应用,因为它不符合 Google 为确保应用安全而制定的 OAuth 2.0 政策

“Google 服务”的 OAuth2 身份验证返回“invalid_request”

错误:私有IP需要invalid_request device_id和device_name

invalid_request with missing: 在 Google Oauth2 上使用 Google Passportjs 的范围