slash-e/proto/api/v1/auth_service.proto
2024-08-06 22:15:28 +08:00

57 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
package slash.api.v1;
import "api/v1/user_service.proto";
import "google/api/annotations.proto";
import "google/protobuf/empty.proto";
option go_package = "gen/api/v1";
service AuthService {
// GetAuthStatus returns the current auth status of the user.
rpc GetAuthStatus(GetAuthStatusRequest) returns (User) {
option (google.api.http) = {post: "/api/v1/auth/status"};
}
// SignIn signs in the user with the given username and password.
rpc SignIn(SignInRequest) returns (User) {
option (google.api.http) = {post: "/api/v1/auth/signin"};
}
// SignInWithSSO signs in the user with the given SSO code.
rpc SignInWithSSO(SignInWithSSORequest) returns (User) {
option (google.api.http) = {post: "/api/v1/auth/signin/sso"};
}
// SignUp signs up the user with the given username and password.
rpc SignUp(SignUpRequest) returns (User) {
option (google.api.http) = {post: "/api/v1/auth/signup"};
}
// SignOut signs out the user.
rpc SignOut(SignOutRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {post: "/api/v1/auth/signout"};
}
}
message GetAuthStatusRequest {}
message SignInRequest {
string email = 1;
string password = 2;
}
message SignUpRequest {
string email = 1;
string nickname = 2;
string password = 3;
}
message SignInWithSSORequest {
// The name of the SSO provider.
string idp_name = 1;
// The code to sign in with.
string code = 2;
// The redirect URI.
string redirect_uri = 3;
}
message SignOutRequest {}