受限访问密钥
受限访问密钥允许授权客户端应用程序访问专用目录视图 — 只有携带分配密钥中的有效签名令牌的请求才能检索目录数据。 所有其他请求都将被拒绝,包括来自匿名购物者的请求、未明确获得此目录视图访问权限的购物者请求,以及探究API的脚本。
受限访问关键用例
在Adobe Commerce Optimizer中,Price Book ID确定请求能够查看的价格 — 它涉及定价,而不是谁能发出请求。 任何知道目录视图ID和价格手册ID的客户端都可以通过促销API检索该数据。 受限访问密钥添加了一个单独的、互补的控制:它们限定了谁有权访问目录视图,这与适用的价格手册无关。
受限访问密钥通常用于:
- 基于合同的B2B定价 — 限制链接到协议价格手册的目录视图,以便只有适用它的买方可以查询它。 其他收购机构和公众则不能。
- 合作伙伴和经销商门户 — 将目录的子集限制为直接与促销API集成的已批准合作伙伴。
- 预发布预览 — 让受信任的内部或合作伙伴系统先预览即将发布的产品,然后再公开显示它们。
受限访问密钥的工作方式
受限访问密钥是RSA密钥对的公共组件。 您的客户端应用程序生成并使用此密钥来证明它有权读取专用目录视图。 在此上下文中,“客户端应用程序”是指对购物者进行身份验证的后端系统(例如,Adobe Commerce上的自定义逻辑或第三方后端),而不是店面前端本身。
以下步骤描述了密钥对和签名令牌如何从创建移动到验证:
- 您的客户端应用程序生成一个RSA密钥对并保留私钥。
- 您在Commerce Optimizer中将 公共 密钥注册为受限访问密钥。
- 您的客户端应用程序使用私钥对JSON Web令牌(JWT)进行签名,并将其包含在每个对私有目录视图的请求中。
- Commerce Optimizer根据已注册公钥验证令牌的签名,如果有效,则返回所请求的目录数据。
创建受限访问密钥
对于私有目录视图的初始测试,请使用诸如OpenSSL之类的工具生成密钥对。 保持私钥机密 — 仅将公钥上传到Commerce Optimizer。
openssl genrsa -out private-key.pem 2048
openssl rsa -in private-key.pem -pubout -out public-key.pem
密钥大小必须介于2048和8192位之间。 public-key.pem包含您粘贴到以下 Public key 字段中的值。
将受限访问密钥添加到Commerce Optimizer
-
从Adobe Commerce Optimizer Studio的左侧菜单中,转到Store setup,然后单击Restricted access keys。
{width="70%" modal="regular"}
-
单击Add Restricted Access Key。
-
输入键详细信息:
{width="70%" modal="regular"}
- Title — 用于标识键的标签,显示在键列表和目录视图键选取器中,例如
ACME Corp wholesale portal — Tier 1 pricing。 - Expiration date — 停止接受密钥的日期和时间(UTC),即使对于尚未过期的令牌也是如此。
- Public key — 主体公钥信息(SPKI)格式的PEM编码的RSA公钥,包括
-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----标记。 在整个环境中必须是唯一的。
- Title — 用于标识键的标签,显示在键列表和目录视图键选取器中,例如
-
单击Save。
键在创建后不可更改。 要更改任何值,请删除键并创建新键。 请参阅旋转密钥以在没有访问中断的情况下执行此操作。
将键分配给目录视图
限制访问密钥仅在将其分配给启用了 Catalog Protection 的目录视图后才会限制访问。 有关设置步骤,请参阅保护目录视图。
删除键
-
在 Restricted access keys 页面上,找到要删除的密钥,然后单击Delete。
如果该键被分配给一个或多个目录视图,则会出现警告,说明依赖该键的客户端应用程序将失去访问权限。 目录视图本身仍受到保护 — 它们不能公开访问。
-
确认删除。
旋转键
要在没有访问中断的情况下旋转键,请注意,目录视图最多可以同时分配三个键:
- 生成新的密钥对并将新的公钥添加为新的受限访问密钥。
- 将新键与现有键一起分配给目录视图。
- 开始使用新私钥签名新令牌以完成密钥滚存。
- 在新密钥上确认所有客户端应用程序后,删除旧密钥。