proto/ic/v1/ic_service.proto (153 lines of code) (raw):

// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; // Package v1 ic provides protocol buffer versions of the DAM API, allowing // end points to receive requests and returns responses using these messages. package ic.v1; import "proto/common/v1/account.proto"; /* copybara-comment */ import "proto/common/v1/common.proto"; /* copybara-comment */ import "proto/common/v1/oauthclient.proto"; /* copybara-comment */ option go_package = "github.com/GoogleCloudPlatform/healthcare-federated-access-services/proto/ic/v1"; /////////////////////////////////////////////////// message IcConfig { string version = 1; int64 revision = 2; double commit_time = 3; map<string, common.IdentityProvider> identity_providers = 4; map<string, common.Client> clients = 5; ConfigOptions options = 7; map<string, string> ui = 8; } message ConfigOptions { int32 account_name_length = 1 [deprecated = true]; bool read_only_master_realm = 2; string default_passport_token_ttl = 4 [deprecated = true]; string max_passport_token_ttl = 5 [deprecated = true]; string auth_code_token_ttl = 6 [deprecated = true]; string access_token_ttl = 7 [deprecated = true]; string refresh_token_ttl = 8 [deprecated = true]; string claim_ttl_cap = 9; map<string, common.Descriptor> computed_descriptors = 10 [json_name = "descriptors"]; } message IcSecrets { string version = 1; int64 revision = 2; double commit_time = 3; map<string, string> client_secrets = 4; map<string, string> id_provider_secrets = 5; message TokenKeys { string private_key = 1; string public_key = 2; } map<string, TokenKeys> token_keys = 6; } message ReadOnlyConfig { string dex_url = 1; string dex_port = 2; } message Realm {} /////////////////////////////////////////////////// message ConfigModification { int64 revision = 1; bool dry_run = 3; } message GetInfoRequest {} message GetInfoResponse { string name = 1; repeated string versions = 2; int64 start_time = 3; repeated string modules = 4; map<string, string> ui = 5; } message RealmRequest { Realm item = 1; } message RealmResponse {} message GetIdentityProvidersRequest {} message GetIdentityProvidersResponse { map<string, common.IdentityProvider> identity_providers = 1; } message GetTokenRequest {} message ConfigRequest { IcConfig item = 1; ConfigModification modification = 2; } message ConfigResponse {} message ConfigIdentityProviderRequest { common.IdentityProvider item = 1; string client_secret = 3; ConfigModification modification = 2; } message ConfigIdProviderResponse {} message ConfigOptionsRequest { ConfigOptions item = 1; ConfigModification modification = 2; } message ConfigOptionsResponse {} message AccountRequest { common.Account item = 1; ConfigModification modification = 2; } message AccountResponse { common.Account account = 1; } message AccountSubjectRequest { common.ConnectedAccount item = 1; ConfigModification modification = 2; } message AccountSubjectResponse { common.ConnectedAccount item = 1; } message SubjectClaimsRequest { ConfigModification modification = 1; } message SubjectClaimsResponse { repeated common.Assertion assertions = 1; } message TokenMetadata { string token_type = 1; int64 issued_at = 2; string scope = 3; string identity_provider = 4; string subject = 5; string nonce = 6; } message TokenMetadataRequest {} message TokenMetadataResponse { TokenMetadata token_metadata = 1; } message TokensMetadataRequest {} message TokensMetadataResponse { map<string, TokenMetadata> tokens_metadata = 1; } message RevocationRequest { string token = 1; } /////////////////////////////////////////////////// message LoginPageProviders { message ProviderEntry { string name = 1; string url = 2; map<string, string> ui = 3; } map<string, ProviderEntry> idps = 1; map<string, ProviderEntry> personas = 2; } message GetPersonasResponse { message Meta { repeated string claim_names = 1; } map<string, Meta> personas = 1; }