perm.proto 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "github.com/xiaozi/permlib/pb";
  4. service PermService {
  5. rpc SyncPermissions(SyncPermissionsReq) returns (SyncPermissionsResp);
  6. rpc Login(LoginReq) returns (LoginResp);
  7. rpc RefreshToken(RefreshTokenReq) returns (RefreshTokenResp);
  8. rpc VerifyToken(VerifyTokenReq) returns (VerifyTokenResp);
  9. rpc GetUserPerms(GetUserPermsReq) returns (GetUserPermsResp);
  10. rpc Logout(LogoutReq) returns (LogoutResp);
  11. }
  12. message PermItem {
  13. string code = 1;
  14. string name = 2;
  15. string remark = 3;
  16. }
  17. message SyncPermissionsReq {
  18. string appKey = 1;
  19. string appSecret = 2;
  20. repeated PermItem perms = 3;
  21. }
  22. message SyncPermissionsResp {
  23. int64 added = 1;
  24. int64 updated = 2;
  25. int64 disabled = 3;
  26. }
  27. message LoginReq {
  28. string productCode = 1;
  29. string username = 2;
  30. string password = 3;
  31. }
  32. message LoginResp {
  33. string accessToken = 1;
  34. string refreshToken = 2;
  35. int64 expires = 3;
  36. int64 userId = 4;
  37. string username = 5;
  38. string nickname = 6;
  39. string memberType = 7;
  40. repeated string perms = 8;
  41. }
  42. message RefreshTokenReq {
  43. string refreshToken = 1;
  44. string productCode = 2;
  45. }
  46. message RefreshTokenResp {
  47. string accessToken = 1;
  48. string refreshToken = 2;
  49. int64 expires = 3;
  50. repeated string perms = 4;
  51. }
  52. message VerifyTokenReq {
  53. string accessToken = 1;
  54. }
  55. message VerifyTokenResp {
  56. bool valid = 1;
  57. int64 userId = 2;
  58. string username = 3;
  59. string productCode = 4;
  60. string memberType = 5;
  61. repeated string perms = 6;
  62. }
  63. message GetUserPermsReq {
  64. int64 userId = 1;
  65. string productCode = 2;
  66. string appKey = 3;
  67. string appSecret = 4;
  68. }
  69. message GetUserPermsResp {
  70. repeated string perms = 1;
  71. string memberType = 2;
  72. }
  73. message LogoutReq {
  74. string accessToken = 1;
  75. }
  76. message LogoutResp {}