All Projects → omniauth → Omniauth Oauth2

omniauth / Omniauth Oauth2

Licence: mit
An abstract OAuth2 strategy for OmniAuth.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Omniauth Oauth2

Oauthlib
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
Stars: ✭ 2,323 (+440.23%)
Mutual labels:  authentication, oauth2
Retroauth
A library build on top of retrofit, for simple handling of authenticated requests
Stars: ✭ 405 (-5.81%)
Mutual labels:  authentication, oauth2
Nodejs Auth
Implementation of node.js authentication with social login ✌️, user impersonation 💅, and no passport.js required 💁
Stars: ✭ 201 (-53.26%)
Mutual labels:  authentication, oauth2
Passport Vkontakte
VK.com authentication strategy for Passport and Node.js
Stars: ✭ 149 (-65.35%)
Mutual labels:  authentication, oauth2
Django Oidc Provider
OpenID Connect and OAuth2 provider implementation for Djangonauts.
Stars: ✭ 320 (-25.58%)
Mutual labels:  authentication, oauth2
Supertokens Core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Stars: ✭ 2,907 (+576.05%)
Mutual labels:  authentication, oauth2
Hackathon Starter Kit
A Node-Typescript/Express Boilerplate with Authentication(Local, Github, Facebook, Twitter, Google, Dropbox, LinkedIn, Discord, Slack), Authorization, and CRUD functionality + PWA Support!
Stars: ✭ 242 (-43.72%)
Mutual labels:  authentication, oauth2
Fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Stars: ✭ 1,738 (+304.19%)
Mutual labels:  authentication, oauth2
Grant
OAuth Proxy
Stars: ✭ 3,509 (+716.05%)
Mutual labels:  authentication, oauth2
Oxauth
OAuth 2.0 server and client; OpenID Connect Provider (OP) & UMA Authorization Server (AS)
Stars: ✭ 308 (-28.37%)
Mutual labels:  authentication, oauth2
Auth0.swift
Swift toolkit for Auth0 API
Stars: ✭ 146 (-66.05%)
Mutual labels:  authentication, oauth2
Oauth
🔗 OAuth 2.0 implementation for various providers in one place.
Stars: ✭ 336 (-21.86%)
Mutual labels:  authentication, oauth2
Tokens
Java library for conveniently verifying and storing OAuth 2.0 service access tokens
Stars: ✭ 142 (-66.98%)
Mutual labels:  authentication, oauth2
External Auth Server
easy auth for reverse proxies
Stars: ✭ 189 (-56.05%)
Mutual labels:  authentication, oauth2
Django Auth Adfs
A Django authentication backend for Microsoft ADFS and AzureAD
Stars: ✭ 127 (-70.47%)
Mutual labels:  authentication, oauth2
Lock.swift
A Swift & iOS framework to authenticate using Auth0 and with a Native Look & Feel
Stars: ✭ 215 (-50%)
Mutual labels:  authentication, oauth2
Auth
Authenticator via oauth2
Stars: ✭ 118 (-72.56%)
Mutual labels:  authentication, oauth2
Aura.auth
Provides a unified interface to local and remote authentication systems.
Stars: ✭ 121 (-71.86%)
Mutual labels:  authentication, oauth2
Caddy Auth Portal
Authentication Plugin for Caddy v2 implementing Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google, Facebook, Okta, etc.), SAML Authentication
Stars: ✭ 291 (-32.33%)
Mutual labels:  authentication, oauth2
React Aad
A React wrapper for Azure AD using the Microsoft Authentication Library (MSAL). The easiest way to integrate AzureAD with your React for authentication.
Stars: ✭ 324 (-24.65%)
Mutual labels:  authentication, oauth2

OmniAuth OAuth2

Gem Version Code Climate Coverage Status Security

This gem contains a generic OAuth2 strategy for OmniAuth. It is meant to serve as a building block strategy for other strategies and not to be used independently (since it has no inherent way to gather uid and user info).

Creating an OAuth2 Strategy

To create an OmniAuth OAuth2 strategy using this gem, you can simply subclass it and add a few extra methods like so:

require 'omniauth-oauth2'

module OmniAuth
  module Strategies
    class SomeSite < OmniAuth::Strategies::OAuth2
      # Give your strategy a name.
      option :name, "some_site"

      # This is where you pass the options you would pass when
      # initializing your consumer from the OAuth gem.
      option :client_options, {:site => "https://api.somesite.com"}

      # You may specify that your strategy should use PKCE by setting
      # the pkce option to true: https://tools.ietf.org/html/rfc7636
      option :pkce, true

      # These are called after authentication has succeeded. If
      # possible, you should try to set the UID without making
      # additional calls (if the user id is returned with the token
      # or as a URI parameter). This may not be possible with all
      # providers.
      uid{ raw_info['id'] }

      info do
        {
          :name => raw_info['name'],
          :email => raw_info['email']
        }
      end

      extra do
        {
          'raw_info' => raw_info
        }
      end

      def raw_info
        @raw_info ||= access_token.get('/me').parsed
      end
    end
  end
end

That's pretty much it!

OmniAuth-OAuth2 for Enterprise

Available as part of the Tidelift Subscription.

The maintainers of OmniAuth-OAuth2 and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. Learn more.

Supported Ruby Versions

OmniAuth is tested under 2.5, 2.6, 2.7, truffleruby, and JRuby.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].