| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- syntax = "proto3";
- package pb;
- option go_package = "perms-system-server/pb";
- // PermService 权限管理系统 gRPC 服务,供接入产品的服务端调用。
- service PermService {
- // SyncPermissions 同步权限声明。产品服务端通过 appKey/appSecret 认证后批量同步权限定义(新增/更新/禁用不在列表中的权限)。
- rpc SyncPermissions(SyncPermissionsReq) returns (SyncPermissionsResp);
- // Login 产品端登录。产品成员通过用户名密码 + productCode 登录,返回 JWT 令牌对及用户权限信息。
- rpc Login(LoginReq) returns (LoginResp);
- // RefreshToken 刷新令牌。使用有效的 refreshToken 换取新的令牌对,旧令牌即时失效(单会话轮转)。
- rpc RefreshToken(RefreshTokenReq) returns (RefreshTokenResp);
- // VerifyToken 验证令牌。校验 accessToken 的有效性(签名、过期、用户状态、产品状态、成员资格、tokenVersion),返回用户权限信息。
- rpc VerifyToken(VerifyTokenReq) returns (VerifyTokenResp);
- // GetUserPerms 查询用户权限。产品服务端通过 appKey/appSecret 认证后查询指定用户在该产品下的成员类型和权限列表。
- rpc GetUserPerms(GetUserPermsReq) returns (GetUserPermsResp);
- }
- message PermItem {
- string code = 1;
- string name = 2;
- string remark = 3;
- }
- message SyncPermissionsReq {
- string appKey = 1;
- string appSecret = 2;
- repeated PermItem perms = 3;
- }
- message SyncPermissionsResp {
- int64 added = 1;
- int64 updated = 2;
- int64 disabled = 3;
- }
- message LoginReq {
- string productCode = 1;
- string username = 2;
- string password = 3;
- }
- message LoginResp {
- string accessToken = 1;
- string refreshToken = 2;
- int64 expires = 3;
- int64 userId = 4;
- string username = 5;
- string nickname = 6;
- string memberType = 7;
- repeated string perms = 8;
- }
- message RefreshTokenReq {
- string refreshToken = 1;
- string productCode = 2;
- }
- message RefreshTokenResp {
- string accessToken = 1;
- string refreshToken = 2;
- int64 expires = 3;
- repeated string perms = 4;
- }
- message VerifyTokenReq {
- string accessToken = 1;
- }
- message VerifyTokenResp {
- bool valid = 1;
- int64 userId = 2;
- string username = 3;
- string productCode = 4;
- string memberType = 5;
- repeated string perms = 6;
- }
- message GetUserPermsReq {
- int64 userId = 1;
- string productCode = 2;
- string appKey = 3;
- string appSecret = 4;
- }
- message GetUserPermsResp {
- repeated string perms = 1;
- string memberType = 2;
- }
|