All Projects → clouway → Oauth2 Server

clouway / Oauth2 Server

Licence: other
OAuth2 Server Library

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Oauth2 Server

Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+28195.24%)
Mutual labels:  oauth2, openid-connect, openid, oauth2-server, oauth2-provider
Authlib
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
Stars: ✭ 2,854 (+6695.24%)
Mutual labels:  oauth2, openid-connect, oauth2-server, oauth2-provider
Django Oidc Provider
OpenID Connect and OAuth2 provider implementation for Djangonauts.
Stars: ✭ 320 (+661.9%)
Mutual labels:  oauth2, openid-connect, openid, oauth2-provider
Node Oidc Provider
OpenID Certified™ OAuth 2.0 Authorization Server implementation for Node.js
Stars: ✭ 2,018 (+4704.76%)
Mutual labels:  oauth2, openid-connect, openid
Doorkeeper
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
Stars: ✭ 4,917 (+11607.14%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Flask Oauthlib
YOU SHOULD USE https://github.com/lepture/authlib
Stars: ✭ 1,429 (+3302.38%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Cierge
🗝️ Passwordless OIDC authentication done right
Stars: ✭ 1,245 (+2864.29%)
Mutual labels:  oauth2, openid-connect, oauth2-server
Doorkeeper Provider App
An example OAuth 2 provider application using the Doorkeeper gem, Rails and Devise
Stars: ✭ 146 (+247.62%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Example Oauth2 Server
Example for OAuth 2 Server for Authlib.
Stars: ✭ 499 (+1088.1%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
External Auth Server
easy auth for reverse proxies
Stars: ✭ 189 (+350%)
Mutual labels:  oauth2, openid-connect, openid
Light Oauth2
A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j
Stars: ✭ 247 (+488.1%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Login Cidadao
Projeto Login Cidadão
Stars: ✭ 61 (+45.24%)
Mutual labels:  oauth2, openid-connect, oauth2-server
Myoidc
基于OIDC协议的参考实现,根据各类库提供实现参考
Stars: ✭ 132 (+214.29%)
Mutual labels:  oauth2, openid-connect, openid
Oauth2
OAuth 2.0 server library for the Go programming language.
Stars: ✭ 2,173 (+5073.81%)
Mutual labels:  oauth2, oauth2-server, oauth2-provider
Passport
Simple, unobtrusive authentication for Node.js.
Stars: ✭ 19,608 (+46585.71%)
Mutual labels:  oauth2, openid, openid-connect
Jpproject.identityserver4.adminui
🔧 ASP.NET Core 3 & Angular 8 Administration Panel for 💞IdentityServer4 and ASP.NET Core Identity
Stars: ✭ 717 (+1607.14%)
Mutual labels:  oauth2, openid-connect, openid
Identityserver4.samples
Samples for IdentityServer4,use .net core 2.0
Stars: ✭ 561 (+1235.71%)
Mutual labels:  oauth2, openid-connect
Angular Auth Oidc Client
npm package for OpenID Connect, OAuth Code Flow with PKCE, Refresh tokens, Implicit Flow
Stars: ✭ 577 (+1273.81%)
Mutual labels:  oauth2, openid
Aspnet5identityserverangularimplicitflow
OpenID Connect Code / Implicit Flow with Angular and ASP.NET Core 5 IdentityServer4
Stars: ✭ 670 (+1495.24%)
Mutual labels:  oauth2, openid
Auth0 Spa Js
Auth0 authentication for Single Page Applications (SPA) with PKCE
Stars: ✭ 507 (+1107.14%)
Mutual labels:  oauth2, openid-connect

OAuth2 Server Library

OAuth2 Java Server Library is a backbone of OAuth2 provider which will provide basic OAuth2 support.

Please note: We take oauth2-server's security and our users' trust very seriously. If you believe you have found a security issue in oauth2-server library, please responsibly disclose by contacting us at [email protected].

Build Status

Build Status

Supported Flows

  • Client authorization with authorization_code

  • 2-legged oauth2 authorization with JWT

Example config servlet for usage of the OAuth2 server library

OAuth2SupportServlet

class OAuth2SupportServlet extends OAuth2Servlet {
 private final OAuth2Config config;
 public OAuth2SupportServlet(OAuth2Config config) {
     this.config = config;
 }
 public getConfig() {
     return config;
  }
}

// usage
ServletContext servletContext = servletContextEvent.getServletContext();
servletContext.addServlet("oauth2", 
      new OAuth2SupportServlet(OAuth2Config.newConfig()
           .tokens(tokens)
           .jwtKeyStore(jwtKeyStore)
           .keyStore(keyStore)
           .identityFinder(identityFinder)
           .resourceOwnerIdentityFinder(resourceOwnerIdentityFinder)
           .clientAuthorizationRepository(clientAuthorizationRepository)
           .clientFinder(clientFinder)
           .loginPageUrl("/ServiceLogin?continue=")
           .build())
       .addMapping("/o/oauth2/v1/*");

The responding interfaces are responsible for:

  • IdentityFinder - Used to find the identity of the client that is requesting authorization.

  • ClientAuthorizationRepository - Used to generate and persist auth codes for authorized clients and to use them later in the Access token request step.

  • Tokens - Used to generate Access and Refresh tokens and persist them for later use when a protected resource is requested.

  • JwtKeyStore - Used to find the Key blocks for verifying JWT authorizations

  • KeyStore - Used to find the keys used for signing and verifying of the signatures of the id_tokens.

  • ResourceOwnerIdentityFinder - Used during the authorization of the request to find the identity.

  • ClientFinder - Used to persist and find OAuth Clients

Endpoints in the OAuth2Servlet

For example if you bind your OAuth2Servlet to /o/oauth2/v1/*

  • /o/oauth2/v1/auth - Used for Authorization codes

  • /o/oauth2/v1/token - Used for Access and Refresh tokens

  • /o/oauth2/v1/revoke - Used to revoke Access/Refresh tokens

  • /o/oauth2/v1/tokenInfo Used to receive an id_token for the given Access token

  • /o/oauth2/v1/userInfo Used to receive a UserInfo for the given Access token

  • /o/oauth2/v1/certs Used to receive the used certificates

id_token

Our library supports the OpenID id_token (http://openid.net/specs/openid-connect-core-1_0.html) which could be obtained on the tokenInfo endpoint. Note that for optimisation purposes to lower round trips an id_token is also returned with the refresh token response and jwt token response. The id_token uses a custom header CID (Certificate ID) that can be used to recognise which certificate was used to sign the token.

ToDo

  • dependency clean up

License

Copyright 2017 clouWay ood.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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].