Skip to Content

权限范围

Scope 决定应用能请求哪些平台能力。申请客户端时选择的是能力上限,用户授权时只能在这个上限内授权。

用户身份 Scope

Scope能力是否需要商户
openid获取成对主体标识和 ID Token否
profile读取用户名与昵称,不包含邮箱否
email读取邮箱地址与邮箱验证状态否

邮箱接入需申请并获批 email,授权请求使用 openid email 或 openid profile email。现有客户端不会自动增加权限;管理员可在 OAuth 客户端审核 → 调整权限 补批。权限变更会撤销旧用户授权和令牌,用户需重新同意。

请求 openid 时必须同时提供 nonce。只做“使用三狗云服务登录”的应用通常申请 openid profile 即可。

商户与交易 Scope

Scope能力可用主体
merchant.profile.read读取绑定商户公开资料用户授权、Client Credentials
products.write创建与更新绑定商户的外部 API 商品仅 Client Credentials
inventory.write更新绑定商户的虚拟库存仅 Client Credentials
merchant_payments.create按金额创建本商户通用收款单、补发失败通知仅 Client Credentials
merchant_payments.read查询本商户收款单、可用渠道与通知投递记录仅 Client Credentials
products.read读取绑定商户已启用商品用户授权、Client Credentials
orders.create代表已授权用户在绑定商户下单仅用户授权
orders.read读取属于授权用户与绑定商户的订单仅用户授权
payments.create为可访问订单发起支付仅用户授权
payments.read查询可访问订单的支付状态仅用户授权

强制商户绑定

只要申请中包含任何商户或交易 Scope,平台会忽略客户端提交的商户编号,并自动绑定申请人自己已审核通过且处于启用状态的商户。

因此:

  • 没有商户也可以申请统一登录客户端;
  • 没有启用中的商户时不能申请店铺 Scope;
  • 客户端不能填写其他人的商户编号跨店访问;
  • 绑定商户被停用后,相关 OpenAPI 调用会被拒绝;
  • 被驳回的申请修订为纯登录权限后,不再绑定商户;已签发应用不能通过重新提交申请修改权限。

Client Credentials 的限制

只有“机密客户端 + 已绑定商户”才能使用 client_credentials。当前该流程只允许:

允许的 Scope
merchant.profile.read products.read products.write inventory.write merchant_payments.create merchant_payments.read

商品订单的 orders.*、payments.* 仍要求用户授权。merchant_payments.* 专用于商户服务端通用收款,不要求买家拥有 TDCloud 账号;具体登录要求由商户策略和渠道决定,见 通用商户收款。以上为客户端可申请的范围,只请求实际获批且需要的权限。

Client Credentials
curl -X POST "{TOKEN_ENDPOINT}" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "grant_type=client_credentials" \ --data-urlencode "client_id={CLIENT_ID}" \ --data-urlencode "client_secret={CLIENT_SECRET}" \ --data-urlencode "scope=merchant.profile.read products.read"
最后更新于