Shopify dispose-t-il d'une méthode d'authentification des requêtes adressées à ma base de données postgresql. On m'a donné du code pour une application intégrée Shopify réalisée à l'aide de ruby ​​on rails (backend) et de react.js avec Polaris (front end) et je vois que le front end fait des requêtes au backend sans en-tête ni autorisation.

Exemple:

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

Cela semble fonctionner et imprime la réponse du backend.

Cependant, lorsque je lance le serveur et que je fais la requête GET via Postman, en passant cette URL :

https://<NGROK_URL>/api/main/vendor

Je peux voir dans mon terminal que j'obtiens le statut 302 (redirigé vers la connexion).

Processing by Api::MainController#vendor as JSON
Redirected to https://<NGROK_URL>/login
Completed 302 Found in 19ms (ActiveRecord: 0.0ms)

Je me demande s'il existe une sorte d'authentification que shopify fait lors du développement d'une application intégrée que je ne connais pas. Par exemple, cela passe-t-il implicitement dans un jeton ? Si oui, où puis-je trouver cela. Désolé pour cette question si cela semble nouveau, je suis assez nouveau pour shopify dev.

1
jim 8 févr. 2020 à 07:42

1 réponse

Meilleure réponse

Shopify transmet généralement un argument hmac qui doit être validé dans le backend.

Ce hmac comprend principalement des informations statiques telles que le nom de votre magasin, l'horodatage, la langue, etc.

Vous pouvez en savoir plus à ce sujet ici : https://help. shopify.com/en/api/getting-started/authentication/oauth#verification

Cela signifie que vous ne pouvez pas faire de demandes en dehors de Shopify.

1
drip 8 févr. 2020 à 07:48