管理api
构建应用程序
快速启动
指南
教程
建立渠道
快速启动
指南
教程
建筑店面
管理货币
指南
合作伙伴信息
成为合作伙伴
开始
POS解决方案
ERP解决方案
PIM解决方案
OMS的解决方案
营销解决方案
运输解决方案
支付解决方案

当前客户的API

安全地识别登录的客户

假设您的应用程序与BigCommerce店面动态交互,并向特定的登录客户传递特定的信息。在透露任何敏感信息之前,您必须在用户浏览器的不安全环境中确认客户的身份。

为了解决这一需求,BigCommerce提供了一个当前的客户端点,您的应用程序可以在店面上通过JavaScript访问该端点。这个端点允许远程应用程序(如第三方订阅计费应用程序)返回带有标识客户详细信息的JWT。这些信息已经和你的签字了OAuth客户的秘密

请注意

  • 在请求中需要一个应用程序客户端ID/客户/ current.jwt
  • 要生成应用程序客户端ID,请在BigCommerce开发者门户
  • 使用应用程序的秘密来验证JWT上的签名。
  • 应用程序不需要在商店中安装或发布,就可以使用客户机ID获取JWT

示例JavaScript

下面是一个访问这个JWT的示例JavaScript代码片段。要测试JWT功能,可以在sandbox BigCommerce store上安装此JavaScript。您必须在请求中包含应用程序的客户端ID,以标识发出请求的应用程序。

<脚本类型=text / javascript>函数customerJWT(){varappClientId=“* * BC_CLIENT_ID * *”;//使用你的应用程序的客户端ID填写这个varxmlhttp=XMLHttpRequest();xmlhttponreadystatechange=函数(){如果(xmlhttp请求处理= =4){如果(xmlhttp状态= =200){警报(“客户JWT: \ n”+xmlhttp响应结果字符串);}其他的如果(xmlhttp状态= =404){警报(“没有登录!”);}其他的{警报(“事情错了”);}}};xmlhttp开放(“获得”,“/客户/ current.jwt ?app_client_id = "+appClientId,真正的);xmlhttp发送();}customerJWT();脚本>

如果您使用客户帐户登录到店面,上面的JavaScript应该用JWT令牌向浏览器发出警告。如果没有客户登录,BigCommerce将返回a404响应,您将看到一条错误消息。从这个端点返回的JWT(下面的示例)可以被解码JWT。IO

使用实例登录客户响应

{“客户”:{“id”:4927,“电子邮件”:“john.doe@gmail.com”,“group_id”:“6”},“国际空间站”:“bc /应用程序”,“子”:“abc123”,“iat”:1480831863,“经验”:1480832763,“版本”:1,“澳大利亚”:“6 sv16tfx3j5gsopm42ss5dd67g2srvq”,“application_id”:“6 sv16tasdgr2b5hs5dd67g2srvq”,“store_hash”:“abc123”,“操作”:“current_customer”}

按照设计,您的应用程序应该将这个令牌发送到应用程序的服务器,根据您的客户端机密对其进行验证,然后在向客户显示机密信息之前,将其用作已登录客户身份的可信指示。

在我们的页面中可以看到一个显示客户最近购买的产品的端到端示例RubyPHP样例应用程序。

IAT索赔

iat的声明只适用30秒。