ApiAuthenticationInterface

public protocol ApiAuthenticationInterface

A protocol that defines the requirements for API authentication mechanisms.

Conforming types must provide a set of headers for authentication and a method to generate authentication headers for API requests, supporting both client and user authentication via JWT tokens.

  • The default headers used for API authentication. These headers are typically included in every request to identify the client or provide static authentication information.

    Declaration

    Swift

    var headers: [String : String] { get }
  • Generates the headers required to authenticate with the API for a specific request. This method should return a dictionary of headers that authenticate both the client and the user (if a JWT is provided).

    Declaration

    Swift

    func generateHeaders<T: Codable>(
        forMethod method: HTTPMethod,
        forBody body: T?,
        withJwt jwt: String?
    ) -> [String: String]

    Parameters

    method

    The HTTP method of the request (e.g., GET, POST).

    body

    The body of the request, or nil if none. The body must conform to Codable.

    jwt

    The JWT token for user authentication, or nil if no user authentication is required.

    Return Value

    A dictionary of headers to be included in the API request.