在 Bigcommerce 上使用 public 应用程序时,该应用程序是否使用商家特定的 OAuth 令牌和商店哈希来进行商店特定的 API 调用?

While using the public app on the Bigcommerce, is the app uses the merchant specific OAuth token and store-hash for making store specific API calls?

我是否需要在我的 Public 应用程序托管服务器数据库中为所有将从 BigCommerce 市场安装我的 Public 应用程序的商家维护单独的一组 OAuth 令牌和商店哈希对?因此,每当他们从他们的商店控制面板 launch/use 我的 public 应用程序时,我需要从该商家的数据库中获取相关的 OAuth 令牌和商店哈希,然后使用它们来制作特定商店 API 打电话给那家商店,对吗?

是的,您最终需要存储客户端 ID、访问令牌和存储哈希。可能还需要保留其他用户信息,例如名字和电子邮件地址。

您可以看到不同语言的示例,例如 Python using Flask framework

这里有一些内容。正在定义的数据库模型示例:

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
bc_id = db.Column(db.Integer, nullable=False)
email = db.Column(db.String(120), nullable=False)
admin = db.Column(db.Boolean, nullable=False, default=False)

store_id = db.Column(db.Integer, db.ForeignKey('store.id'), nullable=False)
store = db.relationship('Store', backref=db.backref('users', lazy='dynamic'))

class Store(db.Model):
id = db.Column(db.Integer, primary_key=True)
store_hash = db.Column(db.String(16), nullable=False, unique=True)
access_token = db.Column(db.String(128), nullable=False)
scope = db.Column(db.String(128), nullable=False)