104 lines
2.6 KiB
Protocol Buffer
104 lines
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package hyapp.user.v1;
|
|
|
|
import "api/proto/user/v1/user.proto";
|
|
|
|
option go_package = "hyapp/api/proto/user/v1;userv1";
|
|
|
|
// AuthToken 是登录和刷新后返回给 gateway 的令牌集合。
|
|
message AuthToken {
|
|
int64 user_id = 1;
|
|
string session_id = 2;
|
|
string access_token = 3;
|
|
string refresh_token = 4;
|
|
int64 expires_in_sec = 5;
|
|
string token_type = 6;
|
|
string display_user_id = 7;
|
|
string default_display_user_id = 8;
|
|
string display_user_id_kind = 9;
|
|
int64 display_user_id_expires_at_ms = 10;
|
|
}
|
|
|
|
// LoginPasswordRequest 使用当前 display_user_id 和已设置密码登录。
|
|
message LoginPasswordRequest {
|
|
RequestMeta meta = 1;
|
|
string display_user_id = 2;
|
|
string password = 3;
|
|
}
|
|
|
|
// LoginThirdPartyRequest 使用三方凭证登录或注册。
|
|
message LoginThirdPartyRequest {
|
|
RequestMeta meta = 1;
|
|
string provider = 2;
|
|
string credential = 3;
|
|
string username = 4;
|
|
string gender = 5;
|
|
string country = 6;
|
|
string invite_code = 7;
|
|
string ip = 8 [deprecated = true];
|
|
string device_id = 9;
|
|
string device = 10;
|
|
string avatar = 11;
|
|
string birth = 12;
|
|
string app_version = 13;
|
|
string source = 14;
|
|
string platform = 15;
|
|
string language = 16;
|
|
string os_version = 17;
|
|
string build_number = 18;
|
|
string timezone = 19;
|
|
string install_channel = 20;
|
|
string campaign = 21;
|
|
}
|
|
|
|
// AuthResponse 返回标准认证令牌。
|
|
message AuthResponse {
|
|
AuthToken token = 1;
|
|
bool is_new_user = 2;
|
|
}
|
|
|
|
// SetPasswordRequest 为已经三方登录的用户首次设置密码。
|
|
message SetPasswordRequest {
|
|
RequestMeta meta = 1;
|
|
int64 user_id = 2;
|
|
string password = 3;
|
|
}
|
|
|
|
// SetPasswordResponse 返回密码是否已经成功设置。
|
|
message SetPasswordResponse {
|
|
bool password_set = 1;
|
|
}
|
|
|
|
// RefreshTokenRequest 使用 refresh token 换取新 token。
|
|
message RefreshTokenRequest {
|
|
RequestMeta meta = 1;
|
|
string refresh_token = 2;
|
|
}
|
|
|
|
// RefreshTokenResponse 返回轮换后的令牌。
|
|
message RefreshTokenResponse {
|
|
AuthToken token = 1;
|
|
}
|
|
|
|
// LogoutRequest 失效指定会话或 refresh token。
|
|
message LogoutRequest {
|
|
RequestMeta meta = 1;
|
|
string session_id = 2;
|
|
string refresh_token = 3;
|
|
}
|
|
|
|
// LogoutResponse 返回会话是否被失效。
|
|
message LogoutResponse {
|
|
bool revoked = 1;
|
|
}
|
|
|
|
// AuthService 承载登录注册和 token 生命周期能力。
|
|
service AuthService {
|
|
rpc LoginPassword(LoginPasswordRequest) returns (AuthResponse);
|
|
rpc LoginThirdParty(LoginThirdPartyRequest) returns (AuthResponse);
|
|
rpc SetPassword(SetPasswordRequest) returns (SetPasswordResponse);
|
|
rpc RefreshToken(RefreshTokenRequest) returns (RefreshTokenResponse);
|
|
rpc Logout(LogoutRequest) returns (LogoutResponse);
|
|
}
|