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】:对我来说这是因为我不小心注释掉了我设置 accessToken 和 shop
的代码【讨论】:
【参考方案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 的范围