You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
message OauthProviderInfo {
int64 ID = 1;
string created_at = 2;
string updated_at = 3;
string name = 4;
string client_id = 5;
string client_secret = 6; // secret
string redirect_url = 7;
string scopes = 8;
string auth_url = 9;
string token_url = 10;
string info_url = 11;
string description = 12;
bool system = 13;
bool init = 14;
}
message OauthProviderReq {
int64 ID = 1;
string name = 2;
string client_id = 3;
optional bool system = 4;
optional bool init = 5;
optional Pagination page = 10;
}
message OauthProviderListResp {
optional Pagination page = 1;
repeated OauthProviderInfo data = 2;
}
message CallbackReq {
string state = 1;
string code = 2;
}
message OauthLoginReq {
string state = 1;
string provider = 2;
}
message OauthRedirectResp {
string url = 1;
}
service Core {
// OauthProvider management
// group: oauth_provider
rpc createOauthProvider (OauthProviderInfo) returns (BaseIDResp);
// group: oauth_provider
rpc updateOauthProvider (OauthProviderInfo) returns (BaseResp);
// group: oauth_provider
rpc getOauthProviderList (OauthProviderReq) returns (OauthProviderListResp);
// group: oauth_provider
rpc getOauthProvider (OauthProviderReq) returns (OauthProviderInfo);
// group: oauth_provider
rpc deleteOauthProvider (IDsReq) returns (BaseResp);
// group: oauth_provider
rpc oauthLogin (OauthLoginReq) returns (OauthRedirectResp);
// group: oauth_provider
rpc oauthCallback (CallbackReq) returns (UserInfo);
}