ExUtcp.OpenApiConverter.AuthMapper (ex_utcp v0.3.2)

Copy Markdown View Source

Maps OpenAPI security schemes to UTCP authentication configurations.

Summary

Functions

Creates authentication configuration for tools that require auth.

Maps multiple security schemes to a list of authentication options.

Maps OpenAPI security schemes to UTCP authentication.

Maps a single OpenAPI security scheme to UTCP authentication.

Validates authentication configuration against OpenAPI security schemes.

Functions

create_tool_auth(security_schemes, operation_security)

@spec create_tool_auth(map(), list()) :: map() | nil

Creates authentication configuration for tools that require auth.

Parameters

  • security_schemes: Available security schemes
  • operation_security: Security requirements for the operation

Returns

UTCP authentication configuration or nil.

map_all_security_schemes(security_schemes)

@spec map_all_security_schemes(map()) :: [map()]

Maps multiple security schemes to a list of authentication options.

Parameters

  • security_schemes: Map of security schemes

Returns

List of UTCP authentication configurations.

map_security_requirement(security_requirement, security_schemes)

@spec map_security_requirement(map(), map()) :: map() | nil

Maps OpenAPI security schemes to UTCP authentication.

Parameters

  • security_requirement: OpenAPI security requirement
  • security_schemes: Available security schemes

Returns

UTCP authentication configuration or nil.

map_security_scheme(scheme)

@spec map_security_scheme(ExUtcp.OpenApiConverter.Types.ParsedSecurityScheme.t()) ::
  map() | nil

Maps a single OpenAPI security scheme to UTCP authentication.

Parameters

  • scheme: OpenAPI security scheme

Returns

UTCP authentication configuration or nil.

validate_auth(auth, security_schemes)

@spec validate_auth(map(), map()) :: {:ok, map()} | {:error, term()}

Validates authentication configuration against OpenAPI security schemes.

Parameters

  • auth: UTCP authentication configuration
  • security_schemes: Available security schemes

Returns

{:ok, validated_auth} or {:error, reason}.