Shopify公共应用开发(2)

接着上次的项目,我们这次把项目安装到 Shopify 商店。

首先,我们要有个开发者账号,来这里 注册

创建公共应用

我们创建一个公共应用,这时,我们会得到 client_id client_secret ,然后设置应用的 url 以及 重定向 url

有条件的可以进行穿透 ,也可以填写本地地址 (https://127.0.0.1:3000/)

OAuth 身份验证

回到项目中 ,创建路由 安装路由 (/install) 和认证路由 (/auth/callback)

/install

  1. 获得安装商店 xxx.myshopify.com
  2. 该应用需要的权限
  3. 该应用的 client_id
  4. 重定向 URl
  5. 设置一个随机数
  6. 重定向到
1
`https://${shop}/admin/oauth/authorize?client_id=${client_id}&scope=${scopes}&redirect_uri=${HOST}/auth/callback&state=${nonce}`;

/auth/callback

  1. 获取参数 code, hmac, shop, state, timestamp
  2. 判断 state 与我们设置的随机数一样并且验证 hmac
  3. 通过 code 获取访问令牌
1
2
3
4
5
6
7
8
9
let res = await fetch(`https://${shop}/admin/oauth/access_token`, {
method: 'POST',
body: JSON.stringify({
client_id: CLIENT_ID,
client_secret: CLIENT_SECRET,
code: code,
}),
headers: { 'Content-Type': 'application/json' },
});
  1. 保存 access_token
  2. 设置 token (JWT 认证)
  3. 进入应用(重定向)

认证流程

编写应用功能代码

…….

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%