Files
argo-cd/server/session/session.proto
Jesse Suen dc662da3d6 Support OAuth2 login flow from CLI (resolves #172) (#181)
* Support OAuth2 login flow from CLI (resolves #172)
* Refactor SessionManager to handle local and OAuth2 logins.
* argo login will request permanent credentials after OAuth2 flow
* Implement proper OIDC app state nonce. Add explicit `--sso` flag to `argo login`
2018-05-10 15:43:58 -07:00

48 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "github.com/argoproj/argo-cd/server/session";
// Session Service
//
// Session Service API performs CRUD actions against session resources
package session;
import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
import "k8s.io/api/core/v1/generated.proto";
import "github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1/generated.proto";
// SessionCreateRequest is for logging in.
message SessionCreateRequest {
string username = 1;
string password = 2;
string token = 3;
}
// SessionDeleteRequest is for logging out.
message SessionDeleteRequest {}
// SessionResponse wraps the created token or returns an empty string if deleted.
message SessionResponse {
string token = 1;
}
// SessionService
service SessionService {
// Create a new JWT for authentication.
rpc Create(SessionCreateRequest) returns (SessionResponse) {
option (google.api.http) = {
post: "/api/v1/session"
body: "*"
};
}
// Create a new JWT for authentication.
rpc Delete(SessionDeleteRequest) returns (SessionResponse) {
option (google.api.http) = {
delete: "/api/v1/session"
};
}
}