Shopify Embedded App аутентифицирует запросы к моей postgresql дБ - PullRequest
1 голос
/ 08 февраля 2020

Есть ли в shopify метод аутентификации запросов к моей postgresql дБ. Я получил код для встроенного приложения shopify, выполненного с использованием ruby на рельсах (бэкэнд) и реагирующего. js с Polaris (фронтэнд), и я вижу, что фронтэнд выполняет запросы к бэкэнду без каких-либо заголовков или авторизации.

Пример:

axios.get('/api/main/vendor’)
.then(response=> {
    console.log(response)
})
.catch(error=> {
    console.log(error)
});

Это похоже на работу и выводит ответ из бэкэнда.

Однако, когда я запускаю сервер и выполняю запрос GET через Postman , передавая этот 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 делает при разработке встроенного приложения, о котором я не знаю. Например, он неявно передается в некотором токене? Если так, где я могу найти это. Извините за этот вопрос, если это звучит как новенькое, я довольно новичок, чтобы делать покупки для разработчика.

1 Ответ

1 голос
/ 08 февраля 2020

Shopify обычно передает hmac аргумент, который должен быть проверен в бэкэнде.

Этот hma c включает в основном информацию c, такую ​​как название вашего магазина, метка времени, язык и c ... но важная часть состоит в том, что это соль с паролем APP.

Подробнее об этом можно прочитать здесь: https://help.shopify.com/en/api/getting-started/authentication/oauth#verification

Это означает, что вы можете не делать запросы вне Shopify.

...