Shopify Embedded App 验证对我的 postgresql 数据库的请求

Shopify Embedded App authenticating requests to my postgresql db

shopify 是否有验证对我的 postgresql 数据库的请求的方法。我获得了使用 rails(后端)上的 ruby 和 Polaris(前端)上的 react.js 完成的 shopify 嵌入式应用程序的代码,我看到前端向后端发出请求而没有任何 headers 或授权。

示例:

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 之外发出请求。