尝试授权我的应用程序时,在我的 redirect_uri shopify 上两次 Https

问题描述 投票:0回答:3

我遇到了一个常见的 Shopify OATH 授权错误,将每个主题都标红,但仍未解决。

我有一个 oauth 错误 invalid_request: The redirect_uri is not whitelisted。在我的应用程序设置页面上,我正确地复制了链接,我有:

App URL : https://MYNGROK.ngrok.io/
Allowed redirection URL(s) : https://MYNGROK.ngrok.io/auth/callback

当我在我的任何 developpement 商店测试这个时,在 redirect_uri 中我有请求:

redirect_uri=https%3A%2F%2Fhttps%3A%2F%2MYNGROK.ngrok.io%2Fauth%2Fcallback

我知道问题出在这里;为什么我有两次 https%3A%2F ?我该如何解决这个问题?

谢谢大家!

authorization shopify shopify-app shopify-api shopify-api-node
3个回答
0
投票

今天下午我遇到了完全相同的问题,花了几个小时才意识到是什么原因造成的。

在这里发布解决方案以防其他人遇到同样的问题。

如果您的主机名中已有 https,Shopify 将复制它。

你有 2 个选项,对我有用:

选项一:

在 .env 文件中,你保留 https://,所以它看起来像:

SHOPIFY_HOST=https://MYNGROK.ngrok.io

然后在index.js文件或者类似的东西里面,当你来初始化shopify的时候,你需要在指定HOST_NAME的时候指定替换https。

Shopify.Context.initialize({ API_KEY:SHOPIFY_API_KEY, API_SECRET_KEY:SHOPIFY_API_SECRET, 范围:SHOPIFY_SCOPES, HOST_NAME:SHOPIFY_HOST.replace(/https:///, "") API_VERSION:ApiVersion.April22, IS_EMBEDDED_APP:真, });

选项2: 只需从您的主机名中删除 https 即可。 SHOPIFY_HOST=MYNGROK.ngrok.io

然后 index.js 文件看起来像这样:

Shopify.Context.initialize({ API_KEY:SHOPIFY_API_KEY, API_SECRET_KEY:SHOPIFY_API_SECRET, 范围:SHOPIFY_SCOPES, HOST_NAME:SHOPIFY_HOST API_VERSION:ApiVersion.April22, IS_EMBEDDED_APP:真, });


0
投票

2023 年 1 月更新 - 对于偶然发现此问题的任何其他人。如果使用当前默认的 Shopify 应用程序配置,解决方案实际上与 YY Zheng 现在所说的相反。

当您为生产环境设置 HOST 环境变量时,请务必包含部署文档中详述的 HTTPS://:尝试授权我的应用程序时,在我的 redirect_uri shopify 上两次 Https

即 HOST="HTTPS://my-cool-app.com"


0
投票

以下组合对我有用:

hostScheme: 'https',
hostName: 'your-hostname.com',

这是 shopify-app-express。 shopify-api 也应该有类似的东西。

需要注意的一点:当您测试商家安装链接时,请确保从控制台正确复制它,我被它击中了。

© www.soinside.com 2019 - 2024. All rights reserved.