src.dualinventive.com/go/authentication-service/grpc/authentication_service.proto

88 lines
1.6 KiB
Protocol Buffer

syntax = "proto3";
package authenticationservice;
option go_package = "grpc";
service AuthenticationService {
rpc Login (LoginRequest) returns (LoginResponse);
rpc Logout (Empty) returns (Empty);
rpc VerifyToken (VerifyTokenRequest) returns (VerifyTokenResponse);
rpc Me (Empty) returns (MeResponse);
rpc RequestPasswordReset (RequestPasswordResetRequest) returns (Empty);
rpc RedeemPasswordReset (RedeemPasswordResetRequest) returns (Empty);
rpc ListTokens (Empty) returns (ListTokensResponse);
rpc DeleteToken (DeleteTokenRequest) returns (Empty);
}
message LoginRequest {
Credentials credentials = 1;
}
message LoginResponse {
Token token = 1;
}
message VerifyTokenRequest {
repeated string rights = 1;
}
message VerifyTokenResponse {
bool valid = 1;
}
message MeResponse {
User user = 1;
}
message RequestPasswordResetRequest {
string userName = 1;
}
message RedeemPasswordResetRequest {
string userName = 1;
string resetCode = 2;
string password = 3;
string passwordVerify = 4;
}
message ListTokensResponse {
repeated OpaqueToken tokens = 1;
}
message DeleteTokenRequest {
string opaqueId = 1;
}
message Credentials {
string username = 1;
string companyCode = 2;
string password = 3;
}
message User {
int64 userId = 1;
string userName = 2;
Company company = 3;
repeated Role roles = 4;
}
message Company {
int64 id = 1;
string name = 2;
string code = 3;
}
message Role {
string name = 1;
repeated string rights = 2;
}
message Token {
string secret = 1;
}
message OpaqueToken {
string opaqueId = 1;
string userAgent = 2;
}
message Empty {}