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 {}
 |