awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
markbates avatar

markbates/goth

0
View on GitHub↗
6,456 Stars·628 Forks·Go·mit·2 Aufrufeblog.gobuffalo.io/goth-needs-a-new-maintainer-626cd47ca37b↗

Goth

Goth is a Go library that provides a consistent, provider-agnostic interface for authenticating users through dozens of third-party OAuth and OAuth2 services. It defines a pluggable provider interface and a central registry where providers are registered by name, enabling dynamic lookup and invocation during authentication flows. The library manages the multi-step OAuth authorization process by generating redirect URLs and validating callback responses, and returns a standardized user profile with common fields like email, name, and avatar URL across all supported providers.

The library distinguishes itself through its extensible architecture, allowing developers to implement a custom provider interface to add authentication support for any third-party OAuth service not included by default. It handles session state management between requests using encrypted cookies with configurable security attributes, including HTTP-only, secure, and domain-scoped settings. Goth also supports token refresh, enabling applications to obtain new access tokens using refresh tokens when the original token expires.

The project provides runtime provider registry management, allowing developers to add, retrieve, and clear authentication providers dynamically. Session storage can be customized with settings such as expiry, path, and security flags for production use. The library is distributed as a Go package with documentation covering installation and provider configuration.

Features

  • Authentication Provider Architectures - An extensible system where new authentication providers can be added by implementing a simple interface without modifying core logic.
  • OAuth Provider Registrations - Providers are registered by name into a central store, enabling dynamic lookup and invocation during authentication flows.
  • Provider Registries - Add, retrieve, and clear authentication providers at runtime for flexible provider management.
  • Custom Authentication Providers - Implement a Provider interface to add authentication support for any third-party OAuth or OAuth2 service not included by default.
  • Client-Side Flow Managers - Managing the authorization process by generating authentication URLs and validating responses from providers.
  • Client-Side Flow Orchestrations - Manages the multi-step OAuth authorization process by generating redirect URLs and validating callback responses.
  • Session Cookie Security - Authentication state is persisted between requests using encrypted cookies with configurable security attributes.
  • OAuth Providers - Provides a consistent interface for authenticating users through dozens of third-party OAuth providers.
  • Custom Provider Implementations - Implementing a custom interface for any third-party authentication service to handle authorization and user data retrieval.
  • OAuth Session Tracking - Generate authentication URLs and validate responses from providers to manage the authorization process.
  • Multi-Provider Authentication - Ships a unified authentication interface supporting dozens of third-party OAuth and OAuth2 providers.
  • OAuth Profile Normalizers - Retrieving a normalized user profile with common fields plus raw provider data from any supported OAuth service.
  • OAuth Provider Adapters - Abstracts provider-specific OAuth implementations behind a single, unified authentication API.
  • OAuth Provider Interfaces - Defines a common interface for all OAuth providers, allowing uniform authentication and user data retrieval across different services.
  • OAuth - Defines a common interface for all OAuth providers, enabling uniform authentication and user data retrieval across different services.
  • OAuth Provider Registries - A central store where providers are registered by name, enabling dynamic lookup and invocation during authentication flows.
  • Authentication Profile Standardization - Return a consistent User struct with common fields like email, name, avatar URL, and tokens across all supported providers.
  • OAuth Profile Normalizers - A library that returns normalized user data with common fields plus raw provider details from any supported OAuth service.
  • OAuth - Retrieves normalized user profile data from various OAuth providers with common fields.
  • Cookie-Based Session Storage - Persisting authentication state between requests using encrypted cookies with configurable security options.
  • Refresh Token Grants - Obtain new access tokens using refresh tokens when the original token expires.
  • Authentication and Authorization - Simple OAuth and OAuth2 provider integration.
  • Security & Privacy - Idiomatic OAuth and OAuth2 authentication for multiple providers.

Star-Verlauf

Star-Verlauf für markbates/gothStar-Verlauf für markbates/goth

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Goth

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Goth.
  • vendurehq/vendureAvatar von vendurehq

    vendurehq/vendure

    7,924Auf GitHub ansehen↗

    Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o

    TypeScriptecommerceecommerce-apiecommerce-framework
    Auf GitHub ansehen↗7,924
  • google/google-api-javascript-clientAvatar von google

    google/google-api-javascript-client

    3,473Auf GitHub ansehen↗

    The Google API JavaScript Client Library is an official client for calling Google APIs directly from browser applications. It provides a programmatic interface to exchange data and execute service requests while managing request construction and response parsing. The library features dynamic client discovery, which loads machine-readable metadata at runtime to automatically generate request methods and parameter validation for various endpoints. It also includes an authentication client that handles OAuth 2.0 authorization flows to securely manage user identity and access tokens in the browse

    CSS
    Auf GitHub ansehen↗3,473
  • omniauth/omniauthAvatar von omniauth

    omniauth/omniauth

    8,088Auf GitHub ansehen↗

    OmniAuth is a rack authentication framework that allows applications to verify user identities through third-party service providers using a single standardized interface. It functions as middleware to separate identity verification from core application logic by intercepting incoming requests. The project employs a strategy-pattern provider model to encapsulate provider-specific logic into interchangeable classes. It provides a custom authentication strategy framework and base classes for building new providers based on industry standards. The framework handles the multi-step authentication

    Ruby
    Auf GitHub ansehen↗8,088
  • answerdotai/fasthtmlAvatar von AnswerDotAI

    AnswerDotAI/fasthtml

    6,846Auf GitHub ansehen↗

    FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It functions as an HTMX integration framework and a Python HTML domain-specific language, allowing developers to generate HTML structures using native objects and functions instead of external templating files. The framework is distinguished by its native support for real-time bidirectional communication via WebSockets and Server-Sent Events, enabling server-side updates to be pushed to the browser without full page reloads. It further integrates identity management through OAut

    Jupyter Notebook
    Auf GitHub ansehen↗6,846
Alle 30 Alternativen zu Goth anzeigen→

Häufig gestellte Fragen

Was macht markbates/goth?

Goth is a Go library that provides a consistent, provider-agnostic interface for authenticating users through dozens of third-party OAuth and OAuth2 services. It defines a pluggable provider interface and a central registry where providers are registered by name, enabling dynamic lookup and invocation during authentication flows. The library manages the multi-step OAuth authorization process by generating redirect URLs and validating callback responses, and returns a…

Was sind die Hauptfunktionen von markbates/goth?

Die Hauptfunktionen von markbates/goth sind: Authentication Provider Architectures, OAuth Provider Registrations, Provider Registries, Custom Authentication Providers, Client-Side Flow Managers, Client-Side Flow Orchestrations, Session Cookie Security, OAuth Providers.

Welche Open-Source-Alternativen gibt es zu markbates/goth?

Open-Source-Alternativen zu markbates/goth sind unter anderem: vendurehq/vendure — Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as… google/google-api-javascript-client — The Google API JavaScript Client Library is an official client for calling Google APIs directly from browser… answerdotai/fasthtml — FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It… omniauth/omniauth — OmniAuth is a rack authentication framework that allows applications to verify user identities through third-party… thephpleague/oauth2-client — This library is a PHP toolkit for managing OAuth 2.0 authentication flows and connecting applications to external… qor/qor — Qor is a Go admin framework and backend toolkit used for building administrative interfaces, headless content…