如何使用访问/授权令牌?

我已经构建了我应该安装在Shopify商店中的第一个Node.js应用程序。 如果你想看看我的实际代码是什么样的(app.js),你可以在这里查看它。 这是非常基本的,所以阅读并不难。

我知道如何验证应用程序的安装 (遵循Shopify说明),但我不知道如何使用成功安装为我提供的永久access token 验证所有后续请求

通过后续请求,我指的是呈现应用或请求安装应用的请求,即使应用已安装。

现在,我店铺名称(这是唯一的)以及Shopify在我的数据库中发送给我的永久令牌存储​​起来。 但我不知道这是否有必要 。 如果我没有弄错, 只需使用浏览器的会话就可以了? 但我该怎么做? 我怎么在每次请求到来时使用这个令牌来检查它是否有效?

感谢您的任何帮助/建议!

下面的代码是我的实际代码看起来像是为了让你知道我的问题是什么:

db.once('open', function(callback)
{  
   app.get('/', function (req, res)
   {
      var name = getNameFrom(req);

      if (existsInDB(name) && tokenExistsInDBfor(name))
      {
         res.redirect('/render');

         /*
            Is checking that the shop (along with a permanent token)
            exists in my DB enough ?
            Shouldn't I check whether the current request comes with 
            a token that is equal to the one in my DB ?
            What if the token received with this request is different       
            from the one stored in my DB ?
         */

      }
      else res.redirect('/auth');
   });

   app.get('/auth', function (req, res)
   {    
      if (authenticated(req))
      {
          var token = getPermanentToken(); 
          storeItInDB(nameFrom(req), token);
          res.redirect('/render');

          /*
            aren't I supposed to do anything more 
            with the token I've received ? send it
            back/store it in the browser session as well maybe?
            is storing it in the db necessary ?
          */
      }
   }); 

   app.get('/render', function (req, res)
   {   
      /*
      How do I check that this request is coming 
      from an authorised shop that has the necessary token ?
      Simply checking my DB will not do 
      because there might be some inconsistency correct ?
      */

      res.sendFile(*file that will build app on the client*);
   });
});

从Shopify获取access token是一次性的过程。

access tokenshop's name保存在您的数据库中,并且还基于某种算法生成并保存“授权令牌”。 将生成的授权令牌返回给客户端。 确保客户端在每个请求中都发送此身份验证令牌。

现在,当客户端打你的服务器验证身份验证令牌; 一旦通过验证,就可以使用适当的“访问令牌”和商店名称致电Shopify API。

身份验证流程可能如下所示:

  • 从Shopify获取访问令牌
  • 为Shopify Shop生成令牌(我将其称为auth令牌),请参阅此处
  • 现在保存shopify的访问令牌,将商店名称和您生成的令牌购买到数据库中
  • 现在将您生成的令牌发送给客户端(将其保存在Cookie或本地存储中)
  • 验证流程:

  • 客户点击您的服务器以获取您的身份验证令牌的数据
  • 在您的数据库中验证此身份验证令牌,并获取该身份验证令牌的访问令牌和商店名称
  • 现在使用此访问令牌和商店名称拨打Shopify API
  • 希望这种方法有帮助

    链接地址: http://www.djcxy.com/p/22005.html

    上一篇: How to use access / auth tokens?

    下一篇: how shall we implement the login functionality with python