shopify是否具有验证对我的postgresql数据库的请求的方法。我得到了一个代码,用于一个Shopify嵌入式应用程序,该应用程序是使用Rails上的ruby(后端)和带有Polaris的react.js(前端)完成的,我看到前端在没有任何标头或授权的情况下向后端发出了请求。
例:
axios.get('/api/main/vendor’)
.then(response=> {
console.log(response)
})
.catch(error=> {
console.log(error)
});
这似乎可行,并打印出后端的响应。
但是,当我运行服务器并通过Postman发出GET请求时,传入以下URL:
https://<NGROK_URL>/api/main/vendor
我可以在终端中看到状态为302(重定向为登录)。
Processing by Api::MainController#vendor as JSON
Redirected to https://<NGROK_URL>/login
Completed 302 Found in 19ms (ActiveRecord: 0.0ms)
我想知道在开发我不知道的嵌入式应用程序时,shopify是否进行某种身份验证。例如,它是否隐式传递了一些令牌?如果是这样,我在哪里可以找到。很抱歉这个问题是否听起来像是新词,我对Shopify开发人员来说还很陌生。
Shopify通常会传递一个hmac
需要在后端进行验证的参数。
此hmac主要包含静态信息,例如您的商店名称,时间戳,语言等...,但重要的部分是使用APP密码进行了固定处理。
您可以在此处阅读有关此内容的更多信息:https : //help.shopify.com/en/api/getting-started/authentication/oauth#verification
这意味着您不能在Shopify之外发出请求。
只是要仔细检查一次,这不是我使用shopify API下载shopify信息吗?我指的是我下载了这些数据并将其存储在postgresql中之后
@jim如果您尝试从前端访问Shopify应用程序代理页面的数据库,它将传递这些参数。如果您尝试在嵌入式应用程序(react前端)中请求数据库,则所有请求都与Shopify无关。综上所述,如果您通过Shopify向代理页面提出请求,则参数将存在;如果您在应用内部提出请求,则不会传递参数。