module Riffer::Rig::Mcp::Auth
Constants
- PLACEHOLDER
Public Instance Methods
(Hash[String, String] headers, Hash[Symbol, String] values) → (Hash[String, String] | String)
Source
# File lib/riffer/rig/mcp/auth.rb, line 23 def expand(headers, values) undeclared = headers.values.flat_map { |template| undeclared(template, values) } return "header references ${#{undeclared.first}}, which the auth block does not declare" if undeclared.any? headers.to_h do |name, template| [name, template.gsub(PLACEHOLDER) { |token| values.fetch(token.delete_prefix('${').delete_suffix('}').to_sym) }] end end
@rbs headers: Hash[String, String] @rbs values: Hash[Symbol, String] @rbs return: (Hash[String, String] | String)
(String server, Hash[Symbol, Array[String]] fields, host: Riffer::Rig::Hosts::_Host, env: Riffer::Rig::Env, ?auth_path: String) → (Hash[Symbol, String] | String)
Source
# File lib/riffer/rig/mcp/auth.rb, line 14 def resolve(server, fields, host:, env:, auth_path: Riffer::Rig::Credentials::PATH) Riffer::Rig::Credentials.install_values( server, host:, env:, auth_path:, label: "MCP server #{server}", setup: setup_for(fields), config: nil ) end
@rbs server: String @rbs fields: Hash[Symbol, Array] @rbs host: Riffer::Rig::Hosts::_Host @rbs env: Riffer::Rig::Env @rbs auth_path: String @rbs return: (Hash[Symbol, String] | String)