> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-cq3uo.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Libraries

export const SectionCard = ({item}) => {
  const getLink = (item, label) => item.links?.find(l => l.label?.toLowerCase() === label.toLowerCase());
  const github = getLink(item, "github");
  const sample = getLink(item, "sample app");
  const quickstart = getLink(item, "quickstart");
  const docs = getLink(item, "Get started");
  const title = item?.name ?? "";
  const subtext = item?.subtext ?? "";
  const badge = item?.badge ?? "";
  const date = item?.date ?? "";
  const isHttpsLogo = typeof item?.logo === "string" && (/^https:\/\//i).test(item.logo);
  const src = isHttpsLogo ? item.logo : `/images/icons/light/${item?.logo}`;
  const srcDark = isHttpsLogo ? item.logo : `/images/icons/dark/${item?.logo}`;
  const imgClass = "!my-0 w-8 h-8 object-contain shrink-0 " + (isHttpsLogo ? "mint-filter mint-grayscale" : "");
  const tertiary = quickstart || docs;
  const tertiaryLabel = quickstart ? "Quickstart" : docs ? "Get started" : "";
  return <article className="
      libraries_card mb-[16px]
      rounded-xl border bg-white shadow-sm hover:shadow-md transition-shadow
      border-gray-200 dark:border-gray-800 dark:bg-black
    ">
      <div className="px-4 md:px-5 pt-4 md:pt-5 pb-3">
        <div className="flex items-start justify-between gap-3">
          <div className="flex gap-3 min-w-0">
            {item?.logo && <>
                <img noZoom src={src} alt={title} className={`${imgClass} mint-block dark:mint-hidden`} />
                <img noZoom src={srcDark} alt={title} className={`${imgClass} mint-hidden dark:mint-block`} />
              </>}

            <div className="min-w-0">
              <h4 className="text-base md:text-lg font-semibold text-gray-900 dark:text-white truncate !m-0 leading-snug">
                {title}
              </h4>
              {!!subtext && <p className="text-xs text-gray-500 dark:text-gray-400 truncate !m-0 leading-tight">{subtext}</p>}
            </div>
          </div>

          <div className="flex flex-col items-end gap-0.5 shrink-0">
            {!!badge && <span className="
                  inline-flex items-center rounded-full px-1.5 py-[0.5px] text-[10px] font-medium
                  border border-emerald-700 text-emerald-700 bg-emerald-200
                  dark:border-emerald-400 dark:text-emerald-300 dark:bg-emerald-900/30
                ">
                {badge}
              </span>}
            {!!date && <span className="mr-[5px] text-[10px] text-gray-500 dark:text-gray-400">
                on {date.replace(/^on\s+/i, "")}
              </span>}
          </div>
        </div>
      </div>

      <div className="h-px mx-3 bg-gray-200 dark:bg-gray-800" />

      <div className="px-4 md:px-5 py-3">
        <div className="libraries_cards flex items-center justify-between w-full gap-3">
          {github && <a href={github.url} target="_blank" rel="noopener noreferrer" className="
                no_external_icon inline-flex items-center gap-1.5 text-xs font-medium
                !text-black dark:!text-white
                !no-underline !border-0
                transition-colors duration-200
                hover:!text-neutral-700 dark:hover:!text-neutral-200
              " style={{
    borderBottom: "none !important"
  }}>
              <Icon icon="github" className="w-3 h-3 shrink-0" />
              <span className="leading-none">Github</span>
            </a>}

          {sample && <a href={sample.url} target="_blank" rel="noopener noreferrer" className="
                no_external_icon inline-flex items-center gap-1.5 text-xs font-medium
                !text-black dark:!text-white
                !no-underline !border-0
                transition-colors duration-200
                hover:!text-neutral-700 dark:hover:!text-neutral-200
              " style={{
    borderBottom: "none !important"
  }}>
              <Icon icon="download" className="w-3 h-3 shrink-0" />
              <span className="leading-none">Sample App</span>
            </a>}

          {tertiary && <a href={tertiary.url} className="
                no_external_icon inline-flex items-center gap-1.5 text-xs font-medium
                !text-black dark:!text-white
                !no-underline !border-0
                transition-colors duration-200
                hover:!text-neutral-700 dark:hover:!text-neutral-200
              " style={{
    borderBottom: "none !important"
  }}>
              {tertiaryLabel === "Quickstart" ? <Icon icon="play" className="w-3 h-3 shrink-0" /> : <Icon icon="file-lines" className="w-3 h-3 shrink-0" />}
              <span className="leading-none">{tertiaryLabel}</span>
            </a>}
        </div>
      </div>
    </article>;
};

export const BgImage = () => {
  return <>
      <span className="fixed inset-0 -z-10 pointer-events-none dark:hidden" style={{
    backgroundImage: "url('/images/bg_light.svg')",
    backgroundRepeat: "no-repeat",
    backgroundSize: "cover",
    backgroundPosition: "left -400px",
    backgroundAttachment: "fixed"
  }} />
      <span className="fixed inset-0 -z-10 pointer-events-none hidden dark:block" style={{
    backgroundImage: "url('/images/dark_bg.svg')",
    backgroundRepeat: "no-repeat",
    backgroundSize: "",
    backgroundPosition: "center 0",
    backgroundAttachment: "fixed"
  }} />
    </>;
};

export const SdkLibrariesPage = () => {
  const [query, setQuery] = useState("");
  const SECTIONS = [{
    id: "spa",
    title: "Single-Page Application (SPA) SDK Libraries",
    description: "Need to protect a JavaScript application that runs entirely in a browser? Choose your technology below.",
    items: [{
      name: "Angular",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/angular.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-angular"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-angular-samples/tree/main/Standalone"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/spa/angular/interactive"
      }]
    }, {
      name: "Flutter (Web)",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/flutter.svg",
      links: [{
        label: "Github",
        url: "https://www.github.com/auth0/auth0-flutter/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-flutter-samples/tree/main/sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/spa/flutter/interactive"
      }]
    }, {
      name: "JavaScript",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/javascript.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-spa-js"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-javascript-samples/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/spa/vanillajs/interactive"
      }]
    }, {
      name: "React",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/react.svg",
      links: [{
        label: "Github",
        url: "https://www.github.com/auth0/auth0-react/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-react-samples/tree/master/Sample-01"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/spa/react/interactive"
      }]
    }, {
      name: "Vue",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/vuejs.svg",
      links: [{
        label: "Github",
        url: "https://www.github.com/auth0/auth0-vue"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-vue-samples/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/spa/vuejs/interactive"
      }]
    }]
  }, {
    id: "webapp",
    title: "Regular Web Application SDK Libraries",
    description: "Have a traditional web application that runs on a server? Auth0 maintains these SDK libraries for the most popular languages and environments.",
    items: [{
      name: "ASP.NET Core Blazor Server",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet-platform.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-aspnetcore-authentication"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-aspnetcore-blazor-server-samples/tree/main/Quickstart/Sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/aspnet-core-blazor-server/interactive"
      }]
    }, {
      name: "ASP.NET Core MVC",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet-platform.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-aspnetcore-authentication"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-aspnetcore-mvc-samples/tree/master/Quickstart/Sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/aspnet-core/interactive"
      }]
    }, {
      name: "Express",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/javascript.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/express-openid-connect"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-express-webapp-sample/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/express/interactive"
      }]
    }, {
      name: "Java",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/java.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-java-mvc-common"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-servlet-sample/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/java/interactive"
      }]
    }, {
      name: "Java EE",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/java.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-java-mvc-common"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-java-ee-sample/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/java-ee/interactive"
      }]
    }, {
      name: "Java Spring Boot",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/spring.svg",
      links: [{
        label: "Github",
        url: "https://github.com/okta/okta-spring-boot/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-spring-boot-login-samples/tree/master/mvc-login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/java-spring-boot/interactive"
      }]
    }, {
      name: "Laravel",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/laravel.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/laravel-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/laravel/tree/7.x/sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/laravel/interactive"
      }]
    }, {
      name: "Next.js",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/nextjs.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/nextjs-auth0/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-nextjs-samples/tree/main/Sample-01"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/nextjs/interactive"
      }]
    }, {
      name: "PHP",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/php.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-php"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-php-web-app/tree/main/app"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/php/interactive"
      }]
    }, {
      name: "Python",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/python.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-python"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-python-web-app/tree/master/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/python/interactive"
      }]
    }, {
      name: "Ruby On Rails",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/rails.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/omniauth-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-rubyonrails-sample/tree/master/sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/webapp/rails/interactive"
      }]
    }]
  }, {
    id: "backend",
    title: "Backend Service and API SDK Libraries",
    description: "Does your API or service need authentication? Auth0 has SDKs for common API and service development tools.",
    items: [{
      name: "Go API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/golang.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/go-jwt-middleware"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-golang-api-samples/tree/master/01-Authorization-RS256"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/golang/interactive"
      }]
    }, {
      name: "Laravel API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/laravel.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/laravel-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/laravel/tree/7.x/sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/laravel/interactive"
      }]
    }, {
      name: "Node (Express) API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/nodejs.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/node-oauth2-jwt-bearer/tree/main/packages/express-oauth2-jwt-bearer"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-express-api-samples/tree/master/01-Authorization-RS256"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/nodejs/interactive"
      }]
    }, {
      name: "PHP API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/php.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-php"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-php-api-samples/tree/main/app"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/php/interactive"
      }]
    }, {
      name: "Python API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/python.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-python"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-python-api-samples/tree/master/00-Starter-Seed"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/python/interactive"
      }]
    }, {
      name: "Ruby On Rails API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/rails.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/omniauth-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-rubyonrails-api-samples/tree/master/01-Authentication-RS256"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/rails/interactive"
      }]
    }, {
      name: "Spring Boot API",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/spring.svg",
      links: [{
        label: "Github",
        url: "https://github.com/okta/okta-spring-boot/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-spring-security5-api-sample/tree/master/01-Authorization-MVC"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/backend/java-spring-security5/interactive"
      }]
    }]
  }, {
    id: "native",
    title: "Native and Mobile Application SDK Libraries",
    description: "Developing mobile or desktop applications that run natively on a user’s device? Choose from one of these SDKs to get started.",
    items: [{
      name: ".NET Android and iOS",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-oidc-client-net"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-xamarin-oidc-samples/tree/master/Quickstart/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/net-android-ios/interactive"
      }]
    }, {
      name: "Android",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/android.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/Auth0.Android"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-android-sample/tree/master/00-Login-Kt"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/android/interactive"
      }]
    }, {
      name: "Expo",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/expo.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/react-native-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Expo"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/react-native-expo/interactive"
      }]
    }, {
      name: "Flutter",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/flutter.svg",
      links: [{
        label: "Github",
        url: "https://www.github.com/auth0/auth0-flutter/"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-flutter-samples/tree/main/sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/flutter/interactive"
      }]
    }, {
      name: "iOS / macOS",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/apple.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/Auth0.swift"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-ios-swift-sample/tree/master/Sample-01"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/ios-swift/interactive"
      }]
    }, {
      name: "MAUI",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet-platform.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-oidc-client-net"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-maui-samples/tree/master/Sample"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/maui/interactive"
      }]
    }, {
      name: "React Native",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/react.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/react-native-auth0"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Hooks"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/react-native/interactive"
      }]
    }, {
      name: "UWP",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/windows.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-oidc-client-net"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-uwp-oidc-samples/tree/master/Quickstart/00-Starter-Seed"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/windows-uwp-csharp/interactive"
      }]
    }, {
      name: "WPF / Winforms",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet-platform.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-oidc-client-net"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-WinFormsWPF-oidc-samples/tree/master/Quickstart/00-Starter-Seed"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/wpf-winforms/interactive"
      }]
    }, {
      name: "Xamarin",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/xamarin.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-oidc-client-net"
      }, {
        label: "Sample App",
        url: "https://github.com/auth0-samples/auth0-xamarin-oidc-samples/tree/master/Quickstart/01-Login"
      }, {
        label: "Quickstart",
        url: "/docs/quickstart/native/xamarin/interactive"
      }]
    }]
  }, {
    id: "mgmt",
    title: "Management API SDK Libraries",
    description: "Need to programmatically perform Auth0 administrative tasks? Choose from one of these management libraries.",
    items: [{
      name: ".NET",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/dotnet.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0.net"
      }]
    }, {
      name: "Go",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/golang.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/go-auth0"
      }]
    }, {
      name: "Java",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/java.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-java"
      }]
    }, {
      name: "Node.js",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/nodejs.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/node-auth0"
      }]
    }, {
      name: "PHP",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/php.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-PHP"
      }]
    }, {
      name: "Python",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/python.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/auth0-python"
      }]
    }, {
      name: "Ruby",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/ruby.svg",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/ruby-auth0"
      }]
    }]
  }, {
    id: "lock",
    title: "Lock SDK Libraries",
    description: "Do you use Lock, Auth0's legacy self-hosted login experience? You can still rely on these libraries for self-hosted login.",
    items: [{
      name: "Lock for Android",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/auth0.svg",
      status: "Bug fixes only",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/Lock.Android"
      }, {
        label: "Documentation",
        url: "/docs/libraries/lock-android"
      }]
    }, {
      name: "Lock for iOS",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/auth0.svg",
      status: "Bug fixes only",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/Lock.swift"
      }, {
        label: "Documentation",
        url: "/docs/libraries/lock-swift"
      }]
    }, {
      name: "Lock for Web",
      logo: "https://cdn2.auth0.com/docs/1.14516.0/img/platforms/auth0.svg",
      status: "Bug fixes only",
      links: [{
        label: "Github",
        url: "https://github.com/auth0/lock"
      }, {
        label: "Documentation",
        url: "/docs/libraries/lock"
      }]
    }]
  }];
  const filteredSections = SECTIONS.map(s => ({
    ...s,
    items: s.items.filter(it => it.name.toLowerCase().includes(query.toLowerCase()))
  })).filter(s => s.items.length > 0);
  const Row = ({item}) => <div className="grid grid-cols-1 md:grid-cols-12 gap-4 items-center py-4 px-4">
      <div className="md:col-span-5 flex items-center gap-4 min-w-0">
        <img noZoom src={item.logo} alt={item.name} className="w-10 h-10 object-contain shrink-0" />
        <span className="font-medium truncate text-gray-900 dark:text-white">
          {item.name}
        </span>
      </div>

      <div className="md:col-span-3">
        {item.status && <span className="inline-flex rounded-full border px-3 py-1 text-xs 
            border-gray-300 text-gray-600 bg-gray-100 
            dark:border-gray-700 dark:text-gray-300 dark:bg-transparent">
            {item.status}
          </span>}
      </div>

      <div className="md:col-span-4 flex flex-wrap md:justify-end gap-x-6 gap-y-2 text-sm">
        {item.links?.map((link, i) => {
    const isGithub = link.label.toLowerCase() === "github";
    const isSampleApp = link.label.toLowerCase() === "sample app";
    const isQuickstart = link.label.toLowerCase() === "quickstart";
    const isDocumentation = link.label.toLowerCase() === "documentation";
    return <a key={i} href={link.url} target={isGithub || isSampleApp ? "_blank" : ""} rel="noopener noreferrer" className="no_external_icon inline-flex items-center gap-2 text-black hover:text-blue-800 dark:text-gray-300 dark:hover:text-white whitespace-nowrap">
              {isGithub && <Icon icon="github" className="w-4 h-4" />}
              {isSampleApp && <Icon icon="download" className="w-4 h-4" />}
              {isQuickstart && <Icon icon="bolt" className="w-4 h-4" />}
              {isDocumentation && <Icon icon="file" className="w-4 h-4" />}
              <span>{link.label}</span>
            </a>;
  })}
      </div>
    </div>;
  return <main className="w-full flex justify-center px-6 py-12">
      <div className="w-full max-w-[1400px]">
        <form role="search" autoComplete="on" className="mb-10">
          <div className="w-full">
            <div className={`
                relative flex items-center
                border bg-white text-gray-900
                hover:border-gray-400
                focus-within:ring-2 focus-within:ring-blue-500 focus-within:border-blue-500
                dark:bg-black dark:text-gray-100
                dark:border-gray-700 dark:hover:border-gray-600
                transition-colors
              `} aria-label="Search for your technology">
              <div className="pointer-events-none absolute left-3 top-1/2 -translate-y-1/2">
                <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="text-gray-500 dark:text-gray-400" aria-hidden="true">
                  <circle cx="11" cy="11" r="8"></circle>
                  <line x1="21" y1="21" x2="16.65" y2="16.65"></line>
                </svg>
              </div>

              <input id="search-input-control" type="text" placeholder="Search for your technology..." value={query} onChange={e => setQuery(e.target.value)} className={`
                  w-full border-0
                  bg-transparent
                  pl-10 pr-10 py-2.5
                  placeholder:text-gray-400
                  focus:outline-none
                  text-sm
                  dark:placeholder:text-gray-500
                `} />

              {query && <button type="button" onClick={() => setQuery("")} className={`
                    absolute right-2 top-1/2 -translate-y-1/2
                    inline-flex items-center rounded-md px-2 py-1 text-xs
                    text-gray-600 hover:text-gray-900 bg-gray-100 hover:bg-gray-200
                    dark:text-gray-300 dark:bg-gray-800 dark:hover:bg-gray-700
                    transition-colors
                  `} aria-label="Clear search">
                  Clear
                </button>}
            </div>
          </div>
        </form>

        {filteredSections.length === 0 ? <p className="text-gray-600 dark:text-gray-400">
            No results for “{query}”.
          </p> : filteredSections.map(section => <section key={section.id} id={section.id} className="mb-16">
              <h3 className="text-3xl font-bold mb-2 text-gray-900 dark:text-white">
                {section.title}
              </h3>
              <p className="mb-8 text-gray-600 dark:text-gray-400">
                {section.description}
              </p>
              <div className="divide-y border-t border-b mt-8
                          divide-gray-200 border-gray-200 
                          dark:divide-gray-800 dark:border-gray-800">
                {section.items.map((it, idx) => <Row key={idx} item={it} />)}
              </div>
            </section>)}
      </div>
    </main>;
};

export const SdkLibrariesBanner = () => {
  return <div className="w-full flex justify-center px-4 mt-10">
      <div className="sdk_banner_container w-full max-w-[1400px] flex flex-col md:flex-row items-center justify-between rounded-2xl p-10 text-white shadow-lg relative overflow-hidden">
        <div className="relative z-10 max-w-xl">
          <h1 className="text-4xl font-semibold mb-4">SDK Libraries</h1>
          <p className="text-lg leading-relaxed">
            Auth0 SDK libraries make it easy for developers to integrate and
            interact with Auth0. Explore any library on GitHub, download a
            sample application, or use a quickstart for customized help.
          </p>
        </div>

        <div className="relative z-10 mt-8 md:mt-0 md:ml-10 flex justify-center">
          <img noZoom src="/images/library/header_img.svg" alt="library header" className="max-w-full min-w-[50%] mr-10" />
        </div>
      </div>
    </div>;
};

<BgImage />

Auth0 SDK libraries make it easy for developers to integrate and interact with Auth0. Explore any library on GitHub, download a sample application, or use a quickstart for customized help.

## Single-Page Application (SPA) SDK Libraries

Need to protect a JavaScript application that runs entirely in a browser? Choose your technology below.

<Columns cols={2}>
  <SectionCard
    item={{
name: "Angular",
subtext: "auth0-angular",
logo: "angular.svg",
date: "Jan 16, 2024",
badge: "v2.2.3",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-angular" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-angular-samples/tree/main/Standalone",
  },
  { label: "Quickstart", url: "/docs/quickstart/spa/angular/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Flutter (Web)",
subtext: "auth0-flutter",
logo: "flutter.svg",
date: "Jul 10, 2024",
badge: "v2.2.3",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-flutter" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-flutter-samples/tree/main/sample",
  },
  { label: "Quickstart", url: "/docs/quickstart/spa/flutter/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "JavaScript",
subtext: "auth0-spa-js",
logo: "javascript.svg",
date: "May 29, 2024",
badge: "v2.2.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-spa-js" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-javascript-samples/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/spa/vanillajs/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "React",
subtext: "auth0-react",
logo: "react.svg",
date: "Jan 23, 2024",
badge: "v2.3.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-react" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-react-samples/tree/master/Sample-01",
  },
  { label: "Quickstart", url: "/docs/quickstart/spa/react/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Vue",
subtext: "auth0-vue",
logo: "vuejs.svg",
date: "Jan 27, 2024",
badge: "v2.4.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-vue" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-vue-samples/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/spa/vuejs/interactive" },
],
}}
  />
</Columns>

## Regular Web Application SDK Libraries

Have a traditional web application that runs on a server? Auth0 maintains these SDK libraries for the most popular languages and environments.

<Columns cols={2}>
  <SectionCard
    item={{
name: "ASP.NET Core Blazor Server",
subtext: "auth0-aspnetcore-authentication",
logo: "dotnet.svg",
date: "Jan 25, 2024",
badge: "1.4.1",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-aspnetcore-authentication" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-aspnetcore-blazor-server-samples/tree/main/Quickstart/Sample",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/aspnet-core-blazor-server/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "ASP.NET Core MVC",
subtext: "auth0-aspnetcore-authentication",
logo: "dotnet-platform.svg",
date: "Jul 10, 2025",
badge: "1.4.1",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-aspnetcore-authentication" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-aspnetcore-mvc-samples/tree/master/Quickstart/Sample",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/aspnet-core/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Express",
subtext: "express-openid-connect",
logo: "nodejs.svg",
date: "May 6, 2024",
badge: "v2.18.1",
links: [
  { label: "Github", url: "https://github.com/auth0/express-openid-connect" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-express-webapp-sample/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/express/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Java",
subtext: "auth0-java-mvc-common",
logo: "java.svg",
date: "Dec 19, 2023",
badge: "1.11.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-java-mvc-common" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-servlet-sample/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/java/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Java EE",
subtext: "auth0-java-mvc-common",
logo: "java.svg",
date: "Dec 19, 2023",
badge: "1.11.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-java-mvc-common" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-java-ee-sample/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/java-ee/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Java Spring Boot",
subtext: "okta-spring-boot",
logo: "spring.svg",
date: "Jun 21, 2024",
badge: "3.0.7",
links: [
  { label: "Github", url: "https://github.com/okta/okta-spring-boot/" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-spring-boot-login-samples/tree/master/mvc-login",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/java-spring-boot/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Laravel",
subtext: "laravel-auth0",
logo: "laravel.svg",
date: "May 16, 2024",
badge: "7.17.0",
links: [
  { label: "Github", url: "https://github.com/auth0/laravel-auth0" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/laravel/tree/7.x/sample",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/laravel/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Next.js",
subtext: "nextjs-auth0",
logo: "nextjs.svg",
date: "Jul 1, 2024",
badge: "v4.8.0",
links: [
  { label: "Github", url: "https://github.com/auth0/nextjs-auth0/" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-nextjs-samples/tree/main/Sample-01",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/nextjs/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "PHP",
subtext: "auth0-php",
logo: "php.svg",
date: "May 30, 2024",
badge: "8.15.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-php" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-php-web-app/tree/main/app",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/php/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Python",
subtext: "auth0-python",
logo: "python.svg",
date: "Jun 6, 2024",
badge: "4.10.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-python" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-python-web-app/tree/master/01-Login",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/python/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Ruby on Rails",
subtext: "omniauth-auth0",
logo: "rails.svg",
date: "Jul 25, 2023",
badge: "v3.1.1",
links: [
  { label: "Github", url: "https://github.com/auth0/omniauth-auth0" },
  {
    label: "Sample App",
    url: "https://github.com/auth0-samples/auth0-rubyonrails-sample/tree/master/sample",
  },
  { label: "Quickstart", url: "/docs/quickstart/webapp/rails/interactive" },
],
}}
  />
</Columns>

## Backend Service and API SDK Libraries

Does your API or service need authentication? Auth0 has SDKs for common API and service development tools.

<Columns cols={2}>
  <SectionCard
    item={{
name: "Build a Login ID screen using ACUL",
subtext: "universal-login",
logo: "auth0.svg",
date: "May 20, 2024",
badge: "v1.1.1",
links: [
{ label: "Github", url: "https://github.com/auth0/go-jwt-middleware" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-golang-api-samples/tree/master/01-Authorization-RS256",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/golang/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Go API",
subtext: "go-jwt-middleware",
logo: "golang.svg",
date: "Mar 5, 2024",
badge: "v2.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/go-jwt-middleware" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-golang-api-samples/tree/master/01-Authorization-RS256",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/golang/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Laravel API",
subtext: "laravel-auth0",
logo: "laravel.svg",
date: "May 16, 2024",
badge: "7.17.0",
links: [
{ label: "Github", url: "https://github.com/auth0/laravel-auth0" },
{ label: "Sample App", url: "https://github.com/auth0-samples/laravel/tree/7.x/sample" },
{ label: "Quickstart", url: "/docs/quickstart/backend/laravel/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Node (Express) API",
subtext: "node-oauth2-jwt-bearer",
logo: "nodejs.svg",
date: "Mar 14, 2024",
badge: "v1.6.1",
links: [
{
  label: "Github",
  url: "https://github.com/auth0/node-oauth2-jwt-bearer/tree/main/packages/express-oauth2-jwt-bearer",
},
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-express-api-samples/tree/master/01-Authorization-RS256",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/nodejs/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "PHP API",
subtext: "auth0-PHP",
logo: "php.svg",
date: "May 30, 2024",
badge: "8.15.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-php" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-php-api-samples/tree/main/app",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/php/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Python API",
subtext: "auth0-python",
logo: "python.svg",
date: "Jun 6, 2024",
badge: "4.10.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-python" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-python-api-samples/tree/master/00-Starter-Seed",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/python/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Ruby On Rails API",
subtext: "omniauth-auth0",
logo: "rails.svg",
date: "Jul 25, 2023",
badge: "v3.1.1",
links: [
{ label: "Github", url: "https://github.com/auth0/omniauth-auth0" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-rubyonrails-api-samples/tree/master/01-Authentication-RS256",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/rails/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Spring Boot API",
subtext: "okta-spring-boot",
logo: "spring.svg",
date: "Jun 21, 2024",
badge: "3.0.7",
links: [
{ label: "Github", url: "https://github.com/okta/okta-spring-boot/" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-spring-security5-api-sample/tree/master/01-Authorization-MVC",
},
{ label: "Quickstart", url: "/docs/quickstart/backend/java-spring-security5/interactive" },
],
}}
  />
</Columns>

## Native/Mobile App

Mobile or Desktop app that runs natively on a device

<Columns cols={2}>
  <SectionCard
    item={{
name: ".NET (OIDC Client)",
subtext: "auth0-oidc-client-net",
logo: "dotnet-platform.svg",
date: "Apr 16, 2024",
badge: "ios-4.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-oidc-client-net" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-xamarin-oidc-samples/tree/master/Quickstart/01-Login",
},
{ label: "Quickstart", url: "/docs/quickstart/native/net-android-ios/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Android",
subtext: "Auth0.Android",
logo: "android.svg",
date: "Jun 4, 2024",
badge: "3.8.0",
links: [
{ label: "Github", url: "https://github.com/auth0/Auth0.Android" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-android-sample/tree/master/00-Login-Kt",
},
{ label: "Quickstart", url: "/docs/quickstart/native/android/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Expo",
subtext: "react-native-auth0",
logo: "expo.svg",
date: "May 2, 2024",
badge: "v4.6.0",
links: [
{ label: "Github", url: "https://github.com/auth0/react-native-auth0" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Expo",
},
{ label: "Quickstart", url: "/docs/quickstart/native/react-native-expo/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Flutter",
subtext: "auth0-flutter",
logo: "flutter.svg",
date: "Jul 10, 2024",
badge: "af-v1.12.0",
links: [
{ label: "Github", url: "https://www.github.com/auth0/auth0-flutter/" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-flutter-samples/tree/main/sample",
},
{ label: "Quickstart", url: "/docs/quickstart/native/flutter/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "iOS / macOS",
subtext: "Auth0.swift",
logo: "apple.svg",
date: "May 30, 2024",
badge: "2.13.0",
links: [
{ label: "Github", url: "https://github.com/auth0/Auth0.swift" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-ios-swift-sample/tree/master/Sample-01",
},
{ label: "Quickstart", url: "/docs/quickstart/native/ios-swift/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "MAUI",
subtext: "auth0-oidc-client-net",
logo: "dotnet.svg",
date: "Apr 16, 2024",
badge: "ios-4.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-oidc-client-net" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-maui-samples/tree/master/Sample",
},
{ label: "Quickstart", url: "/docs/quickstart/native/maui/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "React Native",
subtext: "react-native-auth0",
logo: "react.svg",
date: "May 2, 2024",
badge: "v4.6.0",
links: [
{ label: "Github", url: "https://github.com/auth0/react-native-auth0" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Hooks",
},
{ label: "Quickstart", url: "/docs/quickstart/native/react-native/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "UWP",
subtext: "auth0-oidc-client-net",
logo: "windows.svg",
date: "Apr 16, 2024",
badge: "ios-4.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-oidc-client-net" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-uwp-oidc-samples/tree/master/Quickstart/00-Starter-Seed",
},
{ label: "Quickstart", url: "/docs/quickstart/native/windows-uwp-csharp/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "WPF / Winforms",
subtext: "auth0-oidc-client-net",
logo: "dotnet.svg",
date: "Apr 16, 2024",
badge: "ios-4.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-oidc-client-net" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-WinFormsWPF-oidc-samples/tree/master/Quickstart/00-Starter-Seed",
},
{ label: "Quickstart", url: "/docs/quickstart/native/wpf-winforms/interactive" },
],
}}
  />

  <SectionCard
    item={{
name: "Xamarin",
subtext: "auth0-oidc-client-net",
logo: "xamarin.svg",
date: "Apr 16, 2024",
badge: "ios-4.3.0",
links: [
{ label: "Github", url: "https://github.com/auth0/auth0-oidc-client-net" },
{
  label: "Sample App",
  url: "https://github.com/auth0-samples/auth0-xamarin-oidc-samples/tree/master/Quickstart/01-Login",
},
{ label: "Quickstart", url: "/docs/quickstart/native/xamarin/interactive" },
],
}}
  />
</Columns>

## Management API SDK Libraries

Need to programmatically perform Auth0 administrative tasks? Choose from one of these management libraries.

<Columns cols={2}>
  <SectionCard
    item={{
name: ".NET",
subtext: "auth0-angular",
logo: "dotnet-platform.svg",
date: "on Jan 16, 2024",
badge: "v2.2.3",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-aspnet" }
],
}}
  />

  <SectionCard
    item={{
name: "Go API",
subtext: "go-jwt-middleware",
logo: "golang.svg",
date: "on Mar 5",
badge: "v2.3.0",
links: [
  { label: "Github", url: "https://github.com/auth0/go-jwt-middleware" }
],
}}
  />

  <SectionCard
    item={{
name: "Java",
subtext: "auth0-java-mvc-common",
logo: "java.svg",
date: "on Dec 19, 2023",
badge: "1.11.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-java" }
],
}}
  />

  <SectionCard
    item={{
name: "Node (Express) API",
subtext: "node-oauth2-jwt-bearer",
logo: "nodejs.svg",
date: "on Mar 14",
badge: "v1.6.1",
links: [
  { label: "Github", url: "https://github.com/auth0/node-oauth2-jwt-bearer" }
],
}}
  />

  <SectionCard
    item={{
name: "PHP API",
subtext: "auth0-PHP",
logo: "php.svg",
date: "on May 30",
badge: "8.15.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-PHP" }
],
}}
  />

  <SectionCard
    item={{
name: "Python API",
subtext: "auth0-python",
logo: "python.svg",
date: "on Jun 6",
badge: "4.10.0",
links: [
  { label: "Github", url: "https://github.com/auth0/auth0-python" }
],
}}
  />

  <SectionCard
    item={{
name: "Ruby",
subtext: "ruby-auth0",
logo: "ruby.svg",
date: "on Dec 3, 2024",
badge: "v5.18.0",
links: [
  { label: "Github", url: "https://github.com/auth0/ruby-auth0" }
],
}}
  />
</Columns>

## Lock SDK Libraries

Do you use Lock, Auth0's legacy self-hosted login experience? You can still rely on these libraries for self-hosted login.

<Columns cols={2}>
  <SectionCard
    item={{
name: "Lock for Android",
subtext: "Lock.Android",
logo: "android.svg",
date: "on Jan 11, 2023",
badge: "3.2.2",
links: [
  { label: "Github", url: "https://github.com/auth0/Lock.Android" },
  { label: "Get started", url: "/docs/libraries/lock-android" }
],
}}
  />

  <SectionCard
    item={{
name: "Lock for iOS",
subtext: "Lock.swift",
logo: "apple.svg",
date: "on Nov 30, 2021",
badge: "2.24.1",
links: [
  { label: "Github", url: "https://github.com/auth0/Lock.swift" },
  { label: "Get started", url: "/docs/libraries/lock-ios" }
],
}}
  />

  <SectionCard
    item={{
name: "Lock for Web",
subtext: "lock",
logo: "auth0.svg",
date: "on Jun 2",
badge: "v14.0.0",
links: [
  { label: "Github", url: "https://github.com/auth0/lock" },
  { label: "Get started", url: "/docs/libraries/lock" }
],
}}
  />
</Columns>
