访问控制(Access Control)

登录策略、细粒度权限注册表、多实例 Token,支撑对接方的 B 端角色管理。

登录策略

开放平台为接入应用提供多种登录策略,对接方在控制台应用详情页配置 login_policy

策略说明适用场景
independent独立登录,每个应用独立单应用
group_sso分组 SSO,同组应用共享产品线内
global_sso全局 SSO,所有应用共享集团级
single_device单设备登录安全要求高
multi_device多设备登录消费级应用
ip_boundIP 绑定内部系统
{
  "login_policy": "group_sso",
  "policy_config": {
    "group_key": "yunjii_products",
    "max_devices": 3,
    "ip_whitelist": []
  }
}

多实例 Token

平台支持多实例 Token——每个设备 / 应用实例持有独立 Token,便于对接方做设备级会话管理:

  • 每个 Token 携带作用域(scope:单应用 / 分组 / 全局),用于细粒度授权判断。
  • 对接方可在自己的后端按 scope 做访问隔离,例如仅允许同组应用共享资源。

权限注册表(B 端 RBAC)

对接方可在自身业务侧通过权限注册表管理 B 端角色:

  • perm_registry:权限点清单(权限键、名称、所属模块、说明)。
  • b_roles:角色定义,每个角色挂载一组权限点(JSON 列表)。

平台负责"用户是谁"与"用户属于哪个应用/分组",对接方负责"该用户在自己的应用内能做什么"。两者正交,互不侵入。

Token 验证

对接方服务端校验用户 Token:

GET /check_token.php
Authorization: Bearer your_token_here

响应:

{
  "code": 1,
  "data": {
    "user_id": 123,
    "openid": "um_abc123",
    "scope": "yunjii_products",
    "expire_at": "2026-07-12 10:00:00"
  }
}

Token 验证返回的 scope 字段标识该 Token 的作用域(单应用 / 分组 / 全局),便于对接方做细粒度授权。

下一步