You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
1.7 KiB
Protocol Buffer
89 lines
1.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package authpb;
|
|
|
|
option go_package = "jochum.dev/jo-micro/auth2/internal/proto/authpb;authpb";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
service AuthService {
|
|
/**
|
|
* @auth AdminAndService
|
|
*/
|
|
rpc List(ListRequest) returns (UserListReply) {}
|
|
|
|
/**
|
|
* @auth AuthenticatedUsers
|
|
*/
|
|
rpc Detail(UserIDRequest) returns (User) {}
|
|
rpc Delete(UserIDRequest) returns (google.protobuf.Empty) {}
|
|
rpc UpdateRoles(UpdateRolesRequest) returns (User) {}
|
|
|
|
rpc Register(RegisterRequest) returns (User) {}
|
|
rpc Login(LoginRequest) returns (TokenReply) {}
|
|
rpc Refresh(RefreshTokenRequest) returns (TokenReply) {}
|
|
|
|
rpc Inspect (TokenRequest) returns (User) {}
|
|
}
|
|
|
|
message KeysReply {
|
|
string alg = 1;
|
|
bytes accessPubKey = 2;
|
|
bytes refreshPubKey = 3;
|
|
}
|
|
|
|
message TokenRequest {
|
|
string accessToken = 1;
|
|
}
|
|
|
|
message ListRequest {
|
|
uint64 limit = 1;
|
|
uint64 offset = 2;
|
|
}
|
|
|
|
message User {
|
|
string id = 1;
|
|
string type = 2;
|
|
string issuer = 3;
|
|
map<string, string> metadata = 4;
|
|
repeated string scopes = 5;
|
|
}
|
|
|
|
message UserListReply {
|
|
repeated User data = 1;
|
|
uint64 count = 2;
|
|
uint64 limit = 3;
|
|
uint64 offset = 4;
|
|
}
|
|
|
|
message UserIDRequest {
|
|
string userId = 1;
|
|
}
|
|
|
|
message UpdateRolesRequest {
|
|
string userId = 1;
|
|
repeated string roles = 2;
|
|
}
|
|
|
|
message TokenReply {
|
|
string accessToken = 1;
|
|
int64 accessTokenExpiresAt = 2;
|
|
string refreshToken = 3;
|
|
int64 refreshTokenExpiresAt = 4;
|
|
}
|
|
|
|
message RegisterRequest {
|
|
string username = 1;
|
|
string password = 2;
|
|
string email = 3;
|
|
}
|
|
|
|
message LoginRequest {
|
|
string username = 1;
|
|
string password = 2;
|
|
}
|
|
|
|
message RefreshTokenRequest {
|
|
string refreshToken = 1;
|
|
}
|