micro/auth/service/proto/auth.proto

141 lines
2.2 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package go.micro.auth;
service Auth {
rpc Generate(GenerateRequest) returns (GenerateResponse) {};
2020-04-15 11:50:52 +01:00
rpc Inspect(InspectRequest) returns (InspectResponse) {};
rpc Token(TokenRequest) returns (TokenResponse) {};
}
service Accounts {
rpc List(ListAccountsRequest) returns (ListAccountsResponse) {};
}
service Rules {
rpc Create(CreateRequest) returns (CreateResponse) {};
rpc Delete(DeleteRequest) returns (DeleteResponse) {};
rpc List(ListRequest) returns (ListResponse) {};
}
message ListAccountsRequest {
Options options = 1;
}
message ListAccountsResponse {
repeated Account accounts = 1;
}
message Token {
2020-04-01 14:25:00 +01:00
string access_token = 1;
string refresh_token = 2;
int64 created = 3;
int64 expiry = 4;
}
message Account {
string id = 1;
string type = 2;
map<string, string> metadata = 4;
repeated string scopes = 5;
2020-05-21 16:41:55 +01:00
string issuer = 6;
2020-04-01 17:20:02 +01:00
string secret = 7;
}
message Resource{
string name = 1;
string type = 2;
string endpoint = 3;
}
message GenerateRequest {
string id = 1;
map<string, string> metadata = 3;
repeated string scopes = 4;
2020-03-31 18:17:01 +01:00
string secret = 5;
string type = 6;
string provider = 7;
Options options = 8;
}
message GenerateResponse {
Account account = 1;
}
message GrantRequest {
2020-05-21 14:56:17 +01:00
string scope = 1;
Resource resource = 2;
Options options = 3;
}
message GrantResponse {}
message RevokeRequest {
2020-05-21 14:56:17 +01:00
string scope = 1;
Resource resource = 2;
Options options = 3;
}
message RevokeResponse {}
message InspectRequest {
string token = 1;
Options options = 2;
}
message InspectResponse {
Account account = 1;
}
message TokenRequest {
string id = 1;
2020-04-01 14:25:00 +01:00
string secret = 2;
string refresh_token = 3;
int64 token_expiry = 4;
Options options = 5;
}
message TokenResponse {
Token token = 1;
}
enum Access {
UNKNOWN = 0;
GRANTED = 1;
DENIED = 2;
}
message Rule {
string id = 1;
2020-05-21 14:56:17 +01:00
string scope = 2;
Resource resource = 3;
Access access = 4;
2020-04-15 11:31:19 +01:00
int32 priority = 5;
}
message Options {
string namespace = 1;
}
message CreateRequest {
2020-05-20 11:59:01 +01:00
Rule rule = 1;
Options options = 2;
}
message CreateResponse {}
message DeleteRequest {
2020-05-21 12:07:22 +01:00
string id = 1;
Options options = 2;
}
message DeleteResponse {}
message ListRequest {
Options options = 2;
}
message ListResponse {
repeated Rule rules = 1;
}