# `ExUtcp.OpenApiConverter.AuthMapper`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/openapi_converter/auth_mapper.ex#L1)

Maps OpenAPI security schemes to UTCP authentication configurations.

# `create_tool_auth`

```elixir
@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`

```elixir
@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`

```elixir
@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`

```elixir
@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`

```elixir
@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}`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
