# Security and authentication
Source: https://speakeasy.com/docs/sdks/customize/authentication/overview

import { Table } from "@/mdx/components";



## Authentication overview

Speakeasy-created SDKs have authentication automatically configured based on the `securitySchemes` defined in the [OpenAPI specification](/openapi/security).

APIs authenticated with simple schemes, such as Basic HTTP auth, API keys, and bearer tokens, work out of the box. For APIs using short-lived tokens (OAuth), additional configuration is required to simplify setup.

<Table
  data={[
    {
      mechanism: "HTTP Basic authentication",
      support: "✅  [Docs](/docs/customize/authentication/simple-schemes#basic-http-authentication)"
    },
    {
      mechanism: "API key [header, query]",
      support: "✅  [Docs](/docs/customize/authentication/simple-schemes#api-key-authentication)"
    },
    {
      mechanism: "Bearer Token authentication",
      support: "✅  [Docs](/docs/customize/authentication/configuration)"
    },
    {
      mechanism: "OAuth",
      support: "✅  [All GA and some beta languages](/docs/customize/authentication/oauth)"
    },
    {
      mechanism: "mTLS",
      support: "✅  [Using hooks](/docs/customize/code/sdk-hooks)"
    },
    {
      mechanism: "Custom security schemes",
      support: "✅  [Using Speakeasy custom security schemes extension](/docs/customize/authentication/custom-security-schemes)"
    }
  ]}
  columns={[
    { key: "mechanism", header: "Authentication Mechanism" },
    { key: "support", header: "Language Support" }
  ]}
/>