# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/jwks/v1/keyapis_jwks_key_v1.proto for package 'Keyapis.Jwks.V1'
# Original file comments:
#
# Сервис публикации публичных криптографических ключей в формате JWK

require 'grpc'
require 'keyapis/jwks/v1/keyapis_jwks_key_v1_pb'

module Keyapis
  module Jwks
    module V1
      module KeyService
        # Сервис JWKS
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.jwks.v1.KeyService'

          # Метод сохранения публичного ключа.
          # Используется сервисом KMS.
          # Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695357.
          # Метод доступен для: service
          rpc :PostKey, ::Keyapis::Jwks::V1::PostKeyRequest, ::Keyapis::Jwks::V1::PostKeyResponse
          # Метод удаления публичного ключа.
          # Используется сервисом KMS.
          # Метод доступен для: service
          rpc :DeleteKey, ::Keyapis::Jwks::V1::DeleteKeyRequest, ::Keyapis::Jwks::V1::DeleteKeyResponse
          # Метод получения публичных ключей.
          # Возвращает три последних публичных ключа.
          # Используется партнёрами, с помощью публичного ключа проверяется подпись в JWT, выпущенных платформой Ключ.
          # Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695865.
          # Не требует авторизации
          rpc :GetKeyWellKnownJwksJson, ::Keyapis::Jwks::V1::GetKeyWellKnownJwksJsonRequest, ::Keyapis::Jwks::V1::GetKeyWellKnownJwksJsonResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
