d621548120
Implement the Auth interface, with JWT and service implementations. * Update Auth Interface * Define Auth Service Implementation * Support Service Auth * Add Auth Service Proto * Remove erronious files * Implement Auth Service Package * Update Auth Interface * Update Auth Interface. Add Validate, remove Add/Remove roles * Make Revoke interface more explicit * Refactor serializing and deserializing service accounts * Fix srv name & update interface to be more explicit * Require jwt public key for auth * Rename Variables (Resource.ID => Resource.Name & ServiceAccount => Account) * Implement JWT Auth Package * Remove parent, add ID * Update auth imports to v2. Add String() to auth interface
51 lines
841 B
Protocol Buffer
51 lines
841 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
package go.micro.auth;
|
|
|
|
service Auth {
|
|
rpc Generate(GenerateRequest) returns (GenerateResponse) {};
|
|
rpc Validate(ValidateRequest) returns (ValidateResponse) {};
|
|
rpc Revoke(RevokeRequest) returns (RevokeResponse) {};
|
|
}
|
|
|
|
message Account{
|
|
string id = 1;
|
|
string token = 2;
|
|
int64 created = 3;
|
|
int64 expiry = 4;
|
|
repeated Role roles = 5;
|
|
map<string, string> metadata = 6;
|
|
}
|
|
|
|
message Role {
|
|
string name = 1;
|
|
Resource resource = 2;
|
|
}
|
|
|
|
message Resource{
|
|
string name = 1;
|
|
string type = 2;
|
|
}
|
|
|
|
message GenerateRequest {
|
|
Account account = 1;
|
|
}
|
|
|
|
message GenerateResponse {
|
|
Account account = 1;
|
|
}
|
|
|
|
message ValidateRequest {
|
|
string token = 1;
|
|
}
|
|
|
|
message ValidateResponse {
|
|
Account account = 1;
|
|
}
|
|
|
|
message RevokeRequest {
|
|
string token = 1;
|
|
}
|
|
|
|
message RevokeResponse {}
|