mcpField
B
b2c-slas

b2c-slas

github.com/salesforcecommercecloud安全5794 次安装今天更新
代码仓库

关于 b2c-slas

b2c-slas 指导通过 `b2c` 命令行管理 SLAS 顾客认证客户端与凭据,适用于店面、无头商务和 API 测试工作。内容涵盖客户端生命周期操作及顾客令牌获取。

主要功能

  1. 01列出并查看 SLAS 客户端
  2. 02创建、更新和删除客户端
  3. 03配置客户端范围与重定向地址
  4. 04获取顾客访问令牌
  5. 05从 CLI 配置解析参数

适用场景

  1. 01为组合式店面配置客户端
  2. 02使用自定义范围测试 Custom API
  3. 03创建专用集成测试客户端

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-slas

安装后在 Claude Code 中输入/b2c-slas确认已加载。

附带文件evals/trigger-evals.json

详细介绍

B2C SLAS 技能

使用 b2c CLI 插件管理 SLAS(Shopper Login and API Access Service)API 客户端和凭据。

重要提示: SLAS 用于店面和无头商务中的 购物者(客户)身份验证。对于 管理员令牌(OCAPI、Admin API),请使用 b2c auth token,参见 b2c-config 技能。

提示: 如果未全局安装 b2c,请改用 npx @salesforce/b2c-cli(例如,npx @salesforce/b2c-cli slas client list)。

配置

tenantId、shortCode、slasClientId 和 slasClientSecret 等值会从 dw.json / SFCC_* 环境变量 / 活动实例 / 配置插件中解析。以下示例展示了最简用法;仅在需要覆盖已配置的值时添加标志——通常无需将这些值作为标志传入。如果缺少必需值,CLI 会给出可操作的错误提示,指出对应的标志、环境变量和配置键。

运行 b2c setup inspect,查看解析后的配置以及每个值的来源(编写脚本时使用 --json;默认情况下,密钥会保持掩码状态)。有关优先级规则和故障排除,请参见 b2c-cli:b2c-config 技能。

相关覆盖项:

  • --tenant-id / SFCC_TENANT_ID / tenantId
  • --short-code / SFCC_SHORTCODE / shortCode
  • --slas-client-id / SFCC_SLAS_CLIENT_ID / slasClientId
  • --slas-client-secret / SFCC_SLAS_CLIENT_SECRET / slasClientSecret

定位现有客户端的命令(get、update、delete 和 open)在省略位置参数中的客户端 ID 时,会使用已配置的 slasClientId。位置参数中的客户端 ID 优先于配置。

适用场景

需要管理 SLAS 客户端的常见场景:

  • 测试自定义 API:创建具有自定义作用域(例如 c_loyalty)的客户端,以测试自定义 API 端点
  • PWA/无头开发:为可组合店面配置客户端
  • 集成测试:创建具有特定作用域集的专用测试客户端

示例

列出 SLAS 客户端
# list all SLAS clients for the configured tenant
b2c slas client list

# JSON output
b2c slas client list --json

# target a different tenant than the active config
b2c slas client list --tenant-id abcd_123
获取 SLAS 客户端详情
# get details for the configured SLAS client
b2c slas client get

# override the configured client ID
b2c slas client get my-client-id
创建 SLAS 客户端
# create a new SLAS client with default scopes (auto-generates UUID client ID)
b2c slas client create --channels RefArch --default-scopes --redirect-uri http://localhost:3000/callback

# create with a specific client ID and custom scopes
b2c slas client create my-client-id --channels RefArch --scopes sfcc.shopper-products,sfcc.shopper-search --redirect-uri http://localhost:3000/callback

# create a public client
b2c slas client create --channels RefArch --default-scopes --redirect-uri http://localhost:3000/callback --public

# create client without auto-creating tenant (if you manage tenants separately)
b2c slas client create --channels RefArch --default-scopes --redirect-uri http://localhost:3000/callback --no-create-tenant

# output as JSON (useful for capturing the generated secret)
b2c slas client create --channels RefArch --default-scopes --redirect-uri http://localhost:3000/callback --json

注意:默认情况下,如果租户不存在,系统会自动创建。

**警告:**客户端作用域请使用 --scopes(复数),而非 --auth-scope(单数)。--auth-scope 标志是用于 OAuth 作用域的全局身份验证选项。

创建用于测试自定义 API 的客户端

测试需要自定义作用域的自定义 API 时:

# Create a private client with custom scope for testing
# Replace c_my_scope with your API's custom scope from schema.yaml
b2c slas client create \
  --channels RefArch \
  --default-scopes \
  --scopes "c_my_scope" \
  --redirect-uri http://localhost:3000/callback \
  --json

# Output includes client_id and client_secret - save these for token requests

**重要提示:**SLAS 客户端中的自定义作用域必须与自定义 API 的 schema.yaml 安全部分中定义的作用域一致。

获取购物者令牌

使用 b2c slas token 获取用于 API 测试的购物者访问令牌。--site-id 仅适用于当前请求,必须在每次调用时提供。

该命令会应用共享 HTTP 中间件,包括来自 SFCC_EXTRA_HEADERS(一个 JSON 对象)或 --extra-headers 的标头,并将其用于授权、登录和令牌请求。 JSON 输出会将令牌字段嵌套在 response 下(例如,.response.accessToken)。 对于身份验证失败,请使用 --log-level debug 捕获 HTTP 状态和 SLAS 响应关联 ID。

# Guest token with auto-discovery (finds first public SLAS client)
b2c slas token --site-id RefArch

# Registered customer token
b2c slas token --site-id RefArch --shopper-login [email protected] --shopper-password secret

# JSON output (includes refresh token, expiry, usid, etc.)
b2c slas token --site-id RefArch --json

# Use token in a subsequent API call
TOKEN=$(b2c slas token --site-id RefArch)
curl -H "Authorization: Bearer $TOKEN" "https://$SHORTCODE.api.commercecloud.salesforce.com/..."

# Override the SLAS client explicitly (e.g., targeting a private client for client_credentials flow)
b2c slas token --site-id RefArch --slas-client-id my-client --slas-client-secret sk_xxx

# Registered customer token against a private client (registered login is always PKCE-protected;
# the client secret is sent as Basic auth in addition to the PKCE code_verifier)
b2c slas token --site-id RefArch --slas-client-id my-client --slas-client-secret sk_xxx \
  --shopper-login [email protected] --shopper-password secret
更新 SLAS 客户端
# update the configured client's display name
b2c slas client update --name "New Name"

# override the configured client ID and rotate its secret
b2c slas client update my-client-id --secret new-secret-value

# add scopes (appends to existing by default)
b2c slas client update my-client-id --scopes sfcc.shopper-baskets

# replace scopes instead of appending
b2c slas client update my-client-id --scopes sfcc.shopper-baskets --replace

# replace channels
b2c slas client update my-client-id --channels RefArch,SiteGenesis --replace
删除 SLAS 客户端
# delete the configured SLAS client
b2c slas client delete

# override the configured client ID
b2c slas client delete my-client-id
打开 SLAS 客户端
# open the configured SLAS client in the Admin UI
b2c slas client open

# override the configured client ID
b2c slas client open my-client-id
更多命令

运行 b2c slas --help,查看 slas 主题下可用命令和选项的完整列表。

相关技能

  • b2c:b2c-custom-api-development - 创建需要 SLAS 身份验证的自定义 API
  • b2c-cli:b2c-scapi-custom - 检查自定义 API 注册状态

评论

支持 Markdown