오늘도 어렵구나…
Auth-Server에서 사용하는 proto를 먼저 작성! 기능은 크게 “사용자 생성 / 로그인”, “토큰 발급 및 검증” 2가지로 만들어야겠다.
syntax = "proto3";
package auth;
service AuthService {
rpc Register (RegisterRequest) returns (AuthResponse);
rpc Login (LoginRequest) returns (AuthResponse);
rpc VerifyToken (VerifyTokenRequest) returns (VerifyTokenResponse);
}
message RegisterRequest {
string username = 1;
string password = 2;
}
message LoginRequest {
string username = 1;
string password = 2;
}
message VerifyTokenRequest {
string token = 1;
}
message VerifyTokenResponse {
bool valid = 1;
string username = 2;
string message = 3;
}
message AuthResponse {
bool success = 1;
string token = 2;
string message = 3;
}
AuthService는 3가지로 구성했고 Request, Response Message도 구현했다.
Board-Server에서 사용하는 proto를 작성하자! 기능은 “게시글 읽기 / 게시글 생성”으로 만들어야겠다.
syntax = "proto3";
package board;
service BoardService {
rpc CreatePost (PostRequest) returns (PostResponse);
rpc GetPosts (Empty) returns (PostsResponse);
}
message PostRequest {
string title = 1;
string content = 2;
string token = 3;
}
message PostResponse {
bool success = 1;
string message = 2;
}
message Empty {}
message Post {
string title = 1;
string content = 2;
string username = 3;
}
message PostsResponse {
repeated Post posts = 1;
}
BoardService는 2가지로 구성했다.
$ pip3 install grpcio grpcio-tools --ignore-installed