markbates/goth

Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 36 minutes ago
Added to GitGenius on September 10th, 2026
Created on October 14th, 2014
Open Issues & Pull Requests: 147 (+0)
GitHub issues: Enabled
Number of forks: 631
Total Stargazers: 6,599 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 22.4 days
Mean response time: 338.5 days
90th percentile: 1668.9 days
Tracked items: 31

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 55% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 31
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 850 days
Stale 30+ days: 30
Stale 90+ days: 29

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (1)

Most active issues this week

Detailed Description

Goth is an authentication package for Go web applications that provides a unified interface for integrating multiple OAuth and social login providers.

The package solves the problem of implementing authentication across different providers by offering a standardized way to handle OAuth flows. Rather than writing provider-specific code for each service, developers use a common API that abstracts away the differences between providers. Goth handles the OAuth handshake, token management, and user data retrieval, allowing developers to focus on application logic rather than protocol details.

Goth suits projects that need to support multiple authentication providers without building custom integrations for each one. It works well for web applications where delegating authentication to established services reduces security burden and implementation complexity. The package is particularly valuable when you want to offer users choice in how they authenticate rather than maintaining a single authentication method.

The project shows signs of seeking active maintenance and community involvement to sustain its development. The repository indicates openness to new contributors and maintainers taking on responsibility for the codebase's future direction.