56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto3";
 | |
| 
 | |
| package dyson_network.sphere.auth;
 | |
| 
 | |
| import "google/protobuf/empty.proto";
 | |
| import "google/protobuf/timestamp.proto";
 | |
| 
 | |
| option csharp_namespace = "DysonNetwork.Sphere.Auth.Proto";
 | |
| 
 | |
| service AuthService {
 | |
|   // Standard username/password login
 | |
|   rpc Login(LoginRequest) returns (LoginResponse);
 | |
| 
 | |
|   // Introspects an OAuth 2.0 access token.
 | |
|   rpc IntrospectToken(IntrospectTokenRequest) returns (IntrospectionResponse);
 | |
| 
 | |
|   // Logs out the current session
 | |
|   rpc Logout(google.protobuf.Empty) returns (google.protobuf.Empty);
 | |
| }
 | |
| 
 | |
| message LoginRequest {
 | |
|   string username = 1;
 | |
|   string password = 2;
 | |
|   // Optional: for 2FA
 | |
|   string two_factor_code = 3;
 | |
| }
 | |
| 
 | |
| message LoginResponse {
 | |
|   string access_token = 1;
 | |
|   string refresh_token = 2;
 | |
|   int64 expires_in = 3;
 | |
| }
 | |
| 
 | |
| message IntrospectTokenRequest {
 | |
|   string token = 1;
 | |
|   // Optional: token_type_hint can be "access_token" or "refresh_token"
 | |
|   string token_type_hint = 2;
 | |
| }
 | |
| 
 | |
| message IntrospectionResponse {
 | |
|   // Indicates whether or not the token is currently active.
 | |
|   bool active = 1;
 | |
|   // A JSON string containing the claims of the token.
 | |
|   string claims = 2;
 | |
|   // The client identifier for the OAuth 2.0 client that requested the token.
 | |
|   string client_id = 3;
 | |
|   // The username of the resource owner who authorized the token.
 | |
|   string username = 4;
 | |
|   // The scope of the access token.
 | |
|   string scope = 5;
 | |
|   // The time at which the token was issued.
 | |
|   google.protobuf.Timestamp iat = 6;
 | |
|   // The time at which the token expires.
 | |
|   google.protobuf.Timestamp exp = 7;
 | |
| }
 |