mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Gaetan Boismal
18.27.2016 c8585baebc9fc35ed12a3321acf47730c967b5d3
refs
author Gaetan Boismal <gaetan.boismal@forgerock.com>
Monday, April 18, 2016 14:27 +0200
committer Gaetan Boismal <gaetan.boismal@forgerock.com>
Tuesday, May 24, 2016 17:45 +0200
commitc8585baebc9fc35ed12a3321acf47730c967b5d3
tree 295d0f88af2f4ac587c5da910aec23dd0b89f07d tree | zip | gz
parent 718fab8431afe0d10f947e49d9eb82f4e9cebacb view | diff
OPENDJ-2880 Rest2Ldap as an OAuth2 Resource Server

Rest2Ldap now supports the OAuth2 Authorization standard as a Resource Server.

If an access token is provided in an Authorization header, we try to resolve it
against two types of Authorization Server
* OpenAM /tokeninfo endpoint
* RFC-7662 /token-introspect endpoint (RFC7662TokenResolver class)

These two endpoints must be configured in the json configuration file.

Rest2Ldap can also try to search the access token in the Core Token Service (CTS).
This work is done by the CTSTokenResolver class

For test purpose only, we also have a FileAccessTokenResolver which
resolve access token from local json file.

Once the access token validated, we use token content to extract a user identifier in order to perform the ldap request with proxy authz control.
7 files added
10 files modified
1709 ■■■■■ changed files
opendj-rest2ldap-servlet/src/main/webapp/WEB-INF/classes/opendj-rest2ldap-config.json 107 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/pom.xml 17 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAPHttpApplication.java 141 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/Authorizations.java 176 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/AuthzIdTemplate.java 152 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/CtsAccessTokenResolver.java 115 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/FileAccessTokenResolver.java 64 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/ProxiedAuthV2Filter.java 4 ●●● diff | view | raw | blame | history
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/authz/Rfc7662AccessTokenResolver.java 135 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/AuthorizationsTestCase.java 131 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/OAuth2JsonConfigurationTestCase.java 238 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/TestUtils.java 27 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/authz/AuthzIdTemplateTest.java 39 ●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/authz/CtsAccessTokenResolverTestCase.java 138 ●●●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/authz/ProxiedAuthV2FilterTest.java 2 ●●● diff | view | raw | blame | history
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/authz/Rfc7662AccessResolverTestCase.java 124 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/resource/config/http-config.json 99 ●●●●● diff | view | raw | blame | history