authboss - The boss of http auth.

  •        25

Authboss is a modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. This reduces the potential for mistakes since authentication is not exactly trivial and should hopefully be generic enough to be plugged into all sorts of different web applications.Each module can be turned on simply by importing it and the side-effects take care of the rest. Not all the capabilities of authboss are represented by a module, see use cases to view the supported use cases as well as how to use them in your app.

https://github.com/volatiletech/authboss

Tags
Implementation
License
Platform

   




Related Projects

oauth2-essentials - An OAuth2 client implementation based on http-client-essentials.


An OAuth2 client implementation based on http-client-essentials-suite.OAuth2 is an authentication frameworks that's standardized in RFC 6749. There are a couple of Java implementations for OAuth2 clients available, but most of them either depend on a specific platform (e.g. Android), pull in large dependencies (usually a specific HTTP client implementation) or are incomplete. This library aims to provide a complete, platform independent Java implementation of RFC 6749 that can be used with any HTTP client implementation. The later is achieved by using the http-client-essentials abstraction framework for HTTP clients.

OAuth2Client - Client library for OAuth2 (currently built against draft 10 of the OAuth2 spec)


An OAuth2 library for Mac OS X & iOS (Cocoa & Cocoa touch).This library is based on draft 10 of the OAuth2 spec. It implements the native application profile and supports the end-user authorization endpoint via an internal or an external user-agent. Furthermore it also supports the user credentials flow by prompting the end-user for their username and password and use them directly to obtain an access token. See the description of the delegate for more information how to choose the authentication flow.

oauth2 - An OAuth2 client library for Dart.


A client library for authenticating with a remote service via OAuth2 on behalf of a user, and making authorized HTTP requests with the user's OAuth2 credentials.OAuth2 allows a client (the program using this library) to access and manipulate a resource that's owned by a resource owner (the end user) and lives on a remote server. The client directs the resource owner to an authorization server (usually but not always the same as the server that hosts the resource), where the resource owner tells the authorization server to give the client an access token. This token serves as proof that the client has permission to access resources on behalf of the resource owner.

oauth2 - Go OAuth2


oauth2 package contains a client implementation for OAuth 2.0 spec.Or you can manually git clone the repository to $(go env GOPATH)/src/golang.org/x/oauth2.

go-oauth2-server - A standalone, specification-compliant, OAuth2 server written in Golang.


This service implements OAuth 2.0 specification. Excerpts from the specification are included in this README file to describe different grant types. Please read the full spec for more detailed information.Clients must authenticate with client credentials (client ID and secret) when issuing requests to /v1/oauth/tokens endpoint. Basic HTTP authentication should be used.



gologin - Go login handlers for authentication providers (OAuth1, OAuth2)


Package gologin provides chainable login http.Handler's for Google, Github, Twitter, Digits, Facebook, Bitbucket, Tumblr, or any OAuth1 or OAuth2 authentication providers.Choose a subpackage. Register the LoginHandler and CallbackHandler for web logins or the TokenHandler for (mobile) token logins. Get the authenticated user or access token from the request context.

Silhouette - Authentication library for Play Framework


Silhouette is an authentication library for Play Framework applications that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, Credentials, Basic Authentication, Two Factor Authentication or custom authentication schemes.

php-openid-connect-client - OpenID Connect Client Library


The purpose of the library is to provide tools and building blocks for creating clients using delegated authentication/authorization based on the OAuth2 protocol with emphasis on the OpenID Connect specification.Just clone the repository or download and unpack the latest release and configure your autoloader accordingly.

OAuth2 - OAuth2 framework for macOS and iOS, written in Swift.


OAuth2 frameworks for macOS, iOS and tvOS written in Swift 3.0.Since the Swift language is constantly evolving I have adopted a versioning scheme mirroring Swift versions: the framework version's first two digits are always the Swift version the library is compatible with, see releases. Code compatible with brand new Swift versions are to be found on a separate feature branch named appropriately.

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


Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.Unlike other similar packages, Goth, lets you write OAuth, OAuth2, or any other protocol providers, as long as they implement the Provider and Session interfaces.

Perfect-Authentication - OAuth2 Implementations with Facebook, Google, LinkedIn, Slack, SalesForce and GitHub providers


This project provides OAuth2 libraries and select OAuth2 provider drivers - Facebook, Google, GitHub.A demo application can be found at https://github.com/PerfectExamples/Perfect-Authentication-Demo that shows the usage of the system.

gin-oauth2 - Middleware for Gin Framework users who also want to use OAuth2


Gin-OAuth2 is specially made for Gin Framework users who also want to use OAuth2. It was created by Go developers who needed Gin middleware for working with OAuth2 and couldn't find any.When it comes to choosing a Go framework, there's a lot of confusion about what to use. The scene is very fragmented, and detailed comparisons of different frameworks are still somewhat rare. Meantime, how to handle dependencies and structure projects are big topics in the Go community. We've liked using Gin for its speed, accessibility, and usefulness in developing microservice architectures. In creating Gin-OAuth2, we wanted to take fuller advantage of Gin's capabilities and help other devs do likewise.

oauth2 - A Ruby wrapper for the OAuth 2.0 protocol.


A Ruby wrapper for the OAuth 2.0 specification.The AccessToken methods #get, #post, #put and #delete and the generic #request will return an instance of the #OAuth2::Response class.

Apache Oltu - OAuth protocol implementation in Java


Apache Oltu is an OAuth protocol implementation in Java. It also covers others "OAuth family" related implementations such as JWT, JWS and OpenID Connect.

fosite - Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.


The security first OAuth2 & OpenID Connect framework for Go. Built simple, powerful and extensible. This library implements peer-reviewed IETF RFC6749, counterfeits weaknesses covered in peer-reviewed IETF RFC6819 and countermeasures various database attack scenarios, keeping your application safe when that hacker penetrates or leaks your database. OpenID Connect is implemented according to OpenID Connect Core 1.0 incorporating errata set 1 and includes all flows: code, implicit, hybrid.OAuth2 and OpenID Connect are difficult protocols. If you want quick wins, we strongly encourage you to look at Hydra. Hydra is a secure, high performance, cloud native OAuth2 and OpenID Connect service that integrates with every authentication method imaginable and is built on top of Fosite.

LROAuth2Client - OAuth2 client for iPhone and iPad apps


Not much documentation here right now, but check out my introductory blog post.A demo project can be found here.