memos/proto/api/v1/auth_service.proto

66 lines
1.7 KiB
Protocol Buffer
Raw Normal View History

2023-11-30 20:58:36 +08:00
syntax = "proto3";
2024-04-28 00:44:29 +08:00
package memos.api.v1;
2023-11-30 20:58:36 +08:00
2024-04-28 00:44:29 +08:00
import "api/v1/user_service.proto";
2023-11-30 20:58:36 +08:00
import "google/api/annotations.proto";
2024-04-27 22:02:15 +08:00
import "google/protobuf/empty.proto";
2023-11-30 20:58:36 +08:00
2024-04-28 00:44:29 +08:00
option go_package = "gen/api/v1";
2023-11-30 20:58:36 +08:00
service AuthService {
// GetAuthStatus returns the current auth status of the user.
2024-04-27 22:02:15 +08:00
rpc GetAuthStatus(GetAuthStatusRequest) returns (User) {
2024-04-28 00:44:29 +08:00
option (google.api.http) = {post: "/api/v1/auth/status"};
2023-11-30 20:58:36 +08:00
}
// SignIn signs in the user with the given username and password.
2024-04-27 22:02:15 +08:00
rpc SignIn(SignInRequest) returns (User) {
2024-04-28 00:44:29 +08:00
option (google.api.http) = {post: "/api/v1/auth/signin"};
}
// SignInWithSSO signs in the user with the given SSO code.
2024-04-27 22:02:15 +08:00
rpc SignInWithSSO(SignInWithSSORequest) returns (User) {
2024-04-28 00:44:29 +08:00
option (google.api.http) = {post: "/api/v1/auth/signin/sso"};
}
// SignUp signs up the user with the given username and password.
2024-04-27 22:02:15 +08:00
rpc SignUp(SignUpRequest) returns (User) {
2024-04-28 00:44:29 +08:00
option (google.api.http) = {post: "/api/v1/auth/signup"};
}
// SignOut signs out the user.
2024-04-27 22:02:15 +08:00
rpc SignOut(SignOutRequest) returns (google.protobuf.Empty) {
2024-04-28 00:44:29 +08:00
option (google.api.http) = {post: "/api/v1/auth/signout"};
}
2023-11-30 20:58:36 +08:00
}
message GetAuthStatusRequest {}
message GetAuthStatusResponse {
2023-11-30 21:52:02 +08:00
User user = 1;
2023-11-30 20:58:36 +08:00
}
message SignInRequest {
2024-04-16 22:33:25 +08:00
// The username to sign in with.
string username = 1;
2024-04-16 22:33:25 +08:00
// The password to sign in with.
string password = 2;
2024-04-16 22:33:25 +08:00
// Whether the session should never expire.
2024-01-29 23:12:02 +08:00
bool never_expire = 3;
}
message SignInWithSSORequest {
2024-04-16 22:33:25 +08:00
// The ID of the SSO provider.
int32 idp_id = 1;
2024-04-16 22:33:25 +08:00
// The code to sign in with.
string code = 2;
2024-04-16 22:33:25 +08:00
// The redirect URI.
string redirect_uri = 3;
}
message SignUpRequest {
2024-04-16 22:33:25 +08:00
// The username to sign up with.
string username = 1;
2024-04-16 22:33:25 +08:00
// The password to sign up with.
string password = 2;
}
message SignOutRequest {}