开放应用授权

开放应用,是指通过万全云电商审核,进入应用市场的应用。

要开发开放应用,开发者需要拥有合作伙伴帐号,并通过资质认证。目前需要开发开发应用,请联系万全云电商市场人员:https://www.51microshop.com/contact

开放应用的 OAuth2 授权过程,参照:Authorization Code

授权流程示例:

在万全云电商的 OAuth2 实现中,上图的组成部分对应如下:

  • Client:开放应用
  • Resource Owner:万全云电商的用户
  • Authorization Server:地址是https://apps.51microshop.com/oauth2
  • Resource Server:地址是https://graph.51microshop.com/v1/...

下面介绍万全云电商 OAuth2 授权过程:

第一步:获取应用凭证

在应用创建后,就能获取对应的 App Key 和 App Secret,要做好保密工作,防止泄露这两个值,尤其是 App Secret。

第二步:用户安装应用

在用户在应用市场,选择了应用,点击安装时,万全电商会向应用发起请求,请求的URL,是应用在创建时填写的 callback 网址,完整的请求 URL 示例如下: http://example.org/some/redirect/uri?shop={shop_key}&merchant_id={merchant_id}&time_stamp={time_stamp}&hmac={hmac}网址中参数包括:

  • merchant_id:商户唯一标识
  • shop:店铺唯一标识
  • time_stamp:时间戳
  • hmac:安全验证码,参见跳转请求安全验证

第三步:请求授权

应用在验证来万全云电商的请求后,需再次跳转到万全云电商,来获取用户授权,跳转网址示例: https://apps.51microshop.com/oauth2/authorize?response_type={response_type}&client_id={client_id}&shop={shop}&scope={scope}&state={state}&redirect_uri={redirect_uri} 网址中参数包括如下:

  • response_type:必须,值必须为code
  • client_id:必须,值为应用的 App Key
  • shop:必须,上一步网址中的shop
  • scope:必须,值为All
  • state:可选,若包含此参数,则在用户授权后跳转,将这个参数返回
  • redirect_uri:可选,若不带此参数,将使用应用创建时填写的回调网址

第四步:确认安装

当用户确认授权后,万全云电商将会再次将用户跳转到应用,跳转网址如下: https://example.org/some/redirect/uri?code={code}&shop={shop}&merchant_id={merchant_id}&time_stamp={time_stamp}&hmac={hmac} 网址中参数包括:

  • code:授权码(Authorization Code)
  • shop:必须,上一步网址中的shop
  • merchant_id:商户唯一标识
  • client_id:必须,值为应用的 App Key
  • time_stamp:时间戳
  • hmac:安全验证码,参见跳转请求安全验证

应用在收到授权码后,可以发起POST请求,来获取 Access Token:
POST https://apps.51microshop.com/oauth2/token

POST请求中,需包含如下 form-data (application/x-www-form-urlencoded)参数:

  • grant_type:必须,值必须为authorization_code
  • code:必须,值为上述的授权码
  • client_id:必须,值为应用的 App Key
  • redirect_uri:必须,且必须是请求授权中使用的参数:redirect_uri

若请求合法,服务器将返回应用操作 API 的 access token:

{
  "token": "a6f635847dfe4c21a8edaaeb00bc0d8f"
}

这个 access token 不会过期,应用需要持久存储这个值,并确保不会泄露。

第五步:使用开放 API

应用在获取API的 access token 后,就可以访问权限范围内的 API。在访问 API 的请求头中,加入X-WQY-ACCESS-TOKEN字段,值为上步返回的 access token。

应用删除通知

用户在店铺后台删除应用时,万全云电商会使用 webhook 方式来通知第三方应用,通知地址为创建应用时填写的 callback 地址,完整的请求 URL 示例如下: http://example.org/some/redirect/uri?event=delete&shop={shop}&time_stamp={time_stamp}&hmac={hmac} 网址中参数包括:

  • event:通知事件类型,当前操作为delete
  • shop:应用授权中的shop
  • time_stamp:时间戳
  • hmac:安全验证码,参见跳转请求安全验证

更新 App Secret

应用可以在合作伙伴后台,应用详细页面重新生成 App Secret,此时万全云电商将分发一个新的 App Secret给应用使用,此时所有的跳转 hmac的签名将使用新的 Secret 进行加密,应用需及时将旧的 Secret 进行替换,以防用户在使用过程中出现问题。

更新 Access Token

应用可以在合作伙伴后台,应用详细页面生成 Refresh Token 来手动触发更新店铺访问 API 的 Access Token。Refresh Token的时效为1小时。 应用生成 Refresh Token,可以发起POST请求,来获取来刷新访问 API的 Access Token:

POST https://apps.51microshop.com/oauth2/refresh_token

POST请求中,需包含如下 form-data (application/x-www-form-urlencoded)参数:


  • refresh_token:必须,生成的 Refresh Token
  • client_id:必须,值为应用的 App Key
  • shop:需要刷新 access token 的店铺唯一标识

若请求合法,服务器将返回新的访问 API 的 access token:

{
  "token": "a6f635847dfe4c21a8edaaeb00bc0d8f"
}
  • 最后更新于 2019-10-26

来自客户的评价

张小姐

专注高端眼镜

用万全云商城已将近一年的时间了。在这一年里面印象最深刻的是,前台体验非常棒,人性化的后台设计,以及及时、贴心的售后服务跟进。希望万全云商城越来越好,加油!!!

婴儿之家

跨境母婴B2C商城

我是从2014年10月下旬用开始万全云商城建站,做的是B2C独立站,学的效果目前非常良好,客服特别给力,我们提出的各种问题,都能及时,很快的得到解决,选择万全云商城没错。

Jason 王

专注电子产品。

从3C、手机配件、平衡车再到VR。我只相信万全云商城。另外,我强烈推荐定制专属商城,他们定制的站点真心不错。

8,632

我们期待您的加入。

更多成功故事
阿里云 paypal  速卖通 敦煌网 新网互联
电话咨询

15980819537

在线咨询 扫码关注

关注官方微信