Defines a gNOI protocol for an Authenticate API.
RPC | Purpose |
---|---|
Authenticate | Validate credentials and provide a JWT access token. |
GetAccessToken | Accept a valid refresh token and generate a new access token. |
ListRoles | List all available roles. |
syntax = "proto3"; package auth; service Auth { // Authenticate will validate user credentials and provides access token in response rpc Authenticate (AuthenticateRequest) returns (AuthenticateResponse) {} // GetAccessToken will accept a valid refresh token and generate a new access token rpc GetAccessToken (TokenRequest) returns (TokenResponse) {} // ListRoles lists all the available roles in the system rpc ListRoles (ListRolesRequest) returns (ListRolesResponse) {}; } message AuthenticateRequest { // user credentials string username = 1; string password = 2; } message AuthenticateResponse { // JWT access token string access_token = 1; // JWT refresh token string refresh_token = 2; } message TokenRequest { // JWT refresh token string refresh_token = 1; } message TokenResponse { // JWT access token string access_token = 1; } message ListRolesRequest { } //ListRolesResponse returns information about all roles available in the system message ListRolesResponse { repeated RoleInfo role_info = 1; } //RoleInfo contains the role specific information like role name, type and description message RoleInfo { string role_name = 1; enum RoleType { UNSPECIFIED = 0; SYSTEM_DEFINED = 1; } RoleType role_type = 2; string description = 3; }