Skip to content

OAuth2 Authorization Server based on Spring Security OAuth2 and Couchbase

License

Notifications You must be signed in to change notification settings

tcompiegne/oauth2-server-spring-couchbase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oauth2-server-spring-couchbase

OAuth2 Authorization Server based on Spring Security OAuth2 and Couchbase

![spring-oauth2-couchbase] (https://github.com/tcompiegne/oauth2-server-spring-couchbase/raw/master/site/site.PNG)

This is the basic Authorization server based on Spring Security OAuth2.

The main goal is to show you how to implement an Authorization Server with a Couchbase Server token service provider.

How to use it ?

First of all checkout my other project to retrieve the couchbase token store :

- git clone https://github.com/tcompiegne/oauth2-couchbase-token-store.git
- mvn install

Checkout the OAuth2 Authorization Server :

- git clone https://github.com/tcompiegne/oauth2-server-spring-couchbase.git
- mvn install

Install a Couchbase server :

  Please refer to the offical documentation : http://www.couchbase.com/download
  The basic installation will be fine.

Start the server :

  mvn jetty:run

Get your tokens :

Client Credentials Grant Type :

=============== =================================================
Request         POST /oauth/token
Request Body    grant_type=client_credentials&client_id=test&client_secret=test
Response Codes  200 OK
Response Body   ::

                  {
                      "access_token": "ecfe59e8-2983-4919-a44a-039766ed1c45",
                      "token_type": "bearer",
                      "expires_in": 43199,
                      "scope": "read write"
                  }

=============== =================================================

Resource Owner Password Grant Type :

=============== =================================================
Request         POST /oauth/token
Request Body    grant_type=password&client_id=test&client_secret=test&username=userTest&password=userTest
Response Codes  200 OK
Response Body   ::

                  {
                      "access_token": "46539a6f-67f0-4bcb-bdef-89e3794825f5",
                      "token_type": "bearer",
                      "refresh_token": "8c8d7232-9523-4838-85f7-14cb3aaa174c",
                      "expires_in": 43199,
                      "scope": "read write"
                  }

=============== =================================================

Retrieve your tokens :

You can retrieve thanks to Couchbase web console (http://your-host:8091)

![couchbase-tokens] (https://github.com/tcompiegne/oauth2-server-spring-couchbase/raw/master/site/couchbase-tokens.PNG)

Informations

Couchbase tokens are no expiry time (they remain indefinitely inside couchbase)

To set an expiry time you can declare your document like this :

@Document(expiry = 1000) 
public class OAuth2AccesToken {
  ...
}

Community

I hope you will enjoy my work, any feedbacks will be grateful

About

OAuth2 Authorization Server based on Spring Security OAuth2 and Couchbase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages