osin
by
openshift

Description: Golang OAuth2 server library

View on GitHub ↗

Summary Information

Updated 32 minutes ago
Added to GitGenius on January 31st, 2026
Created on September 10th, 2013
Open Issues & Pull Requests: 3 (+0)
Number of forks: 394
Total Stargazers: 1,934 (+0)
Total Subscribers: 68 (+0)

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,009 days
Stale 30+ days: 2
Stale 90+ days: 0

Recent activity

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

Top labels

  • tide/merge-blocker (2)
  • lifecycle/frozen (1)
  • lifecycle/rotten (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 29.7 days
Mean response time: 741.8 days
90th percentile: 2194.9 days
Tracked items: 3

Most active contributors

Detailed Description

OSIN is a Go language library that implements an OAuth2 server, conforming to RFC 6749 and the OAuth v2.10 draft specification. The library enables developers to build their own OAuth2 authentication services by providing core OAuth2 functionality including authorization and token endpoints, and support for multiple grant types: authorization code, implicit, resource owner password credentials, and client credentials flows.

The library includes support for PKCE (Proof Key for Public OAuth Clients), as specified in RFC 7636, which enhances security for code-exchange flows used by public OAuth clients. This addition addresses security concerns in scenarios where traditional client authentication is not feasible. The implementation covers the majority of the OAuth2 specification requirements, making it suitable for production authentication systems.

OSIN provides a flexible storage backend architecture, allowing developers to implement custom storage solutions for their specific needs. The repository includes a mock storage implementation in example/teststorage.go that serves as a reference guide. The ecosystem around OSIN includes multiple community-maintained storage backend implementations for popular database systems: PostgreSQL, MongoDB, RethinkDB, DynamoDB, Couchbase, MySQL, and Redis. This extensibility allows organizations to integrate OSIN with their existing data persistence infrastructure.

The library has undergone significant architectural changes in its development history. A major breaking change in June 2014 modified the Storage interface to include Clone and Close methods, supporting storages that require connection management. The Client type was changed from a struct to an interface, necessitating updates to the Storage interface and requiring developers to use osin.DefaultClient for direct struct access. These changes reflected lessons learned about supporting diverse storage backends, particularly those like MongoDB that require per-connection resource management.

The codebase is licensed under the New BSD license and was originally authored by Rangel Reale. In May 2019, the repository was updated to reflect its migration to the OpenShift organization, with import paths updated from github.com/RangelReale/osin to github.com/openshift/osin.

GitGenius activity data reveals that the repository experiences extended response latencies, with a median issue and pull request response time of 712.2 hours. The most active issue labels indicate the repository contains frozen and rotten lifecycle issues, along with merge-blocker items. Contributors tracked by GitGenius include ptman with two recorded events, and ClydeXofficial and codespearhead with one event each. The repository shares contributors with related projects including avelino/awesome-go, openshift/installer, and openshift/coredns, indicating its integration within the broader OpenShift ecosystem and Go community infrastructure.

osin
by
openshiftopenshift/osin

Repository Details

Fetching additional details & charts...