应用授权
本指南详细介绍了应用程序使用 OAuth 授权的流程,包括了每个步骤的具体实现方式、安全性措施以及可能遇到的常见问题和解决方法。
OAuth 流程
SHOPLINE 使用 OAuth 2.0 授权流程 来颁发 Access Token,以授权应用程序访问商家店铺数据。 OAuth 授权流程方便商家授权给应用程序,从而允许应用程序获取访问其店铺数据的权限。例如,店铺可以授权给应用程序访问订单和商品数据的权限。 下图展示了基于商家、应用程序和 SHOPLINE 之间的 OAuth 流程:

- 商家请求安装应用程序。
- 应用程序重定向到 SHOPLINE,在商家的浏览器加载 OAuth 授权页面,该页面展示了应用程序申请的权限范围。
- 商家同意应用程序所请求的权限范围。
- 应用程序的回调地址收到授权码(code),这是 OAuth 授权的临时凭证,需要进行签名验证。
- 应用程序向 SHOPLINE 发送请求以获取访问令牌(Access Token)。
- SHOPLINE 在身份验证后颁发访问令牌。现在,应用程序可以使用访问令牌请求 SHOPLINE API 获取数据了。
第一步:App 授权前置检查
获取在创建应用程序时获得的 AppKey 和 AppSecret。这些客户端凭据在授权过程中用于识别你的应用程序身份。 获取应用程序的客户端凭据,请按以下步骤操作:
- 登录你的 SHOPLINE 合作伙伴后台。
- 点击“应用”选项。
- 选择你想要检索其客户端凭据的应用程序名称。
- 查看“应用凭据”部分。
- 查看或复制你的 AppKey 和 AppSecret。
接入授权前,请先确认应用是否为如下类型:
- 公共应用。
- 自定义应用。
第二 步:App 验证安装请求
当商家请求安装应用时,SHOPLINE 会访问你配置的应用地址,并携带请求安装的店铺标识、时间戳、AppKey 和签名。
GET https://{appUrl}?appkey={appkey}&handle={handle}&lang={lang}×tamp={timestamp}&sign={sign}
SHOPLINE 的请求会携带以下参数:
| 参数 | 描述 |
|---|---|
| appkey | 应用唯一标识。 |
| handle | 店铺唯一标识,店铺域名前缀,如:open001.myshopline.com 的 handle 为:open001。 |
| timestamp | 时间戳,毫秒级。 |
| sign | 安全签名,算法:HMAC-SHA256。 |
如果是内嵌应用(内嵌在 SHOPLINE admin 后台的应用都为内嵌应用),则请求还会携带以下参数:
| 参数 | 描述 |
|---|---|
| lang |