Is there an OAuth 2.0 Provider implementation in J

2019-01-20 22:02发布

问题:

So basically I want to protect my APIs with OAuth 2.0 and implement an OAuth Provider to enable acquiry of accessTokens etc.

Can it be done with JOAuth out of the box?

Has anybody already implemented something like this with an Open Source library (Java)?

回答1:

Spring Security has an OAuth sub-project with support for OAuth 1.0a and OAuth2 (both client and server). They have sample code on their GitHub repo:

  • Main repo: https://github.com/spring-projects/spring-security-oauth
  • Sample OAuth2 provider (called sparklr): https://github.com/spring-projects/spring-security-oauth/tree/master/samples/oauth2/sparklr

Apache Amber (http://oltu.apache.org/) is another project (now deprecated) that makes it fairly straightforward to build an OAuth2 provider. See:

  • https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Authorization+Server for the Authorization server
  • https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Resource+Server for the Resource server


回答2:

Well so many implementations for OAuth2 in Java

  1. Apache Oltu
  2. Spring Security for OAuth
  3. Apis Authorization Server (v2-31) Restlet Framework (draft 30)
  4. Apache CXF


回答3:

https://github.com/OpenConextApps/apis is an full-fledged Java Open Source Implementation of an OAuth2 authorization server.



回答4:

you can download provider & client source codes.

https://github.com/stepanowon/OAuth_20

but, the comment was written by korean. you must read rfc documents. i didn't use spring-security.

http://tools.ietf.org/html/draft-ietf-oauth-v2-31



回答5:

The implementations section of OAuth 2.0 Code and Services listed both server side libraries and client libraries in a quite comprehensive manner.



回答6:

You can try https://github.com/apifest/apifest-oauth20. It's an open-source project written in pure Java and implements the OAuth 2.0 specification - https://tools.ietf.org/html/rfc6749.



回答7:

You can also use CloudFoundry User Account and Authentication (UAA) Server

It Supports: OAuth2, OpenId Connect, SCIM, SSO

You can clone it from https://github.com/cloudfoundry/uaa.



回答8:

For Play Framework (Scala) you can use https://github.com/nulab/scala-oauth2-provider



回答9:

You could fork the scribe git repository on github. I've used scribe and it's super easy, and Pablo (the creator) is great to work with. He'll help you out.