08 Sep, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@562 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@561 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
05 Sep, 2014
4 commits
-
This change eases references resolution when they are provided as a JSON String array (like ["RefOne", "RefTwo"]). git-svn-id: https://svn.forgerock.org/openig/trunk@559 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
KeyStore and related security objects are being more and more central to OpenIG: * Used by HttpClient * Needed for encryption / decryption This patch is a first step to provide a way to configure theses as usual heap objects (through JSON). KeyStore heap object is an abstraction around the keystore file (either JKS, PKCS12 or other depending on the platform capabilities). Specifying a password or not depends on he usage: * If KeyStore will be used to read private credentials (through a KeyManager for example), a password is required * If not (for a TrustManager), no password is required KeyManager and TrustManager are using a KeyStore heap object and are used within SSL mechanism (SSLContext) to provide a view on the KeyStore: * KeyManager when private credentials access is required. * TrustManager when only public information access is required Issues: OPENIG-295 Reviews: CR-4441 git-svn-id: https://svn.forgerock.org/openig/trunk@557 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
The previously introduced evaluate() method was a step in the right direction, allowing resolution of static (no references to ${exchange}) string JsonValue, returning a simple resolved String. While it works great, it's a shame that we don't benefit anymore of the JsonValue API, in particular the conversion methods (asURL(), ...). This fix uses a JsonTransformer to actually resolve any String wrapped JsonValue and creates a deep copy of the given JsonValue. git-svn-id: https://svn.forgerock.org/openig/trunk@556 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
When a new heap object instance has to be created, we first have to find a Heaplet instance that will create the required object from the given JSON configuration. Heaplet instances are linked to the single object they created: they manage the heap object lifecycle with the start() and destroy() methods. The old behaviour was using Heaplet instances directly loaded and instantiated, meaning that a single Heaplet instance could be used to create multiple heap objects, somehow mixing states, which was very wrong. Now, HeapletFactory (instead of direct Heaplet) are found using the ServiceLoader discovery mechanism. They are responsible to create new Heaplet instances, meaning that we cannot anymore share a Heaplet instance for 2 or more heap objects. Heaplet class does not extends Indexed<Class> anymore (was only used because of the way Heaplets was looking for Heaplet instances). NestedHeaplet is now deprecated since its only duty was to implement the Indexed interface. All references to NestedHeaplet were replaced to GenericHeaplet (its parent class) in our code base to avoid ugly compiler warnings. As per OPENIG-302 comments, the HeapletFactory will be a short-lived concept since this additional layer introduction was the straw that broke the camel's back :) Issues: OPENIG-302 Reviews: CR-4457 git-svn-id: https://svn.forgerock.org/openig/trunk@555 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
26 Aug, 2014
1 commit
-
- Added unit tests. git-svn-id: https://svn.forgerock.org/openig/trunk@536 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
25 Aug, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@529 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
21 Aug, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@514 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
08 Aug, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@507 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@502 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
04 Aug, 2014
1 commit
-
* Request.getEntity() never returns null, so it can't be used to determine if the request had a content or not * Added an isEmpty() method for this purpose * Updated HttpClient to use Entity.isEmpty() git-svn-id: https://svn.forgerock.org/openig/trunk@461 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
03 Aug, 2014
7 commits
-
* Non-expression values are still supported (fixed/static expression like "http://www.example.com") *Expressions are evaluated at runtime against the executed Exchange ("http://${exchange.host}:8080" will be resolved against the Exchange) * If evaluated expression returns null (evaluation error, or null result of a successful evaluation), a HandlerException is thrown * Added test case git-svn-id: https://svn.forgerock.org/openig/trunk@457 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
* By default, the new Request is kept in the Exchange * If enabled, the original Request is restored in the Exchange git-svn-id: https://svn.forgerock.org/openig/trunk@454 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
They are currently not working, so I disabled them for now git-svn-id: https://svn.forgerock.org/openig/trunk@453 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@452 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@446 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* Request.uri is now a MutableUri * Removed UriResolver since it was useless with both this new feature and the BeanResolver git-svn-id: https://svn.forgerock.org/openig/trunk@444 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
… order to add addition "enhanced" getters and setters for fields Provide better APIs for interacting with Message entities. Previously we were stuck with the esoteric BranchingInputStream which makes entities very hard (impossible?) to use in expressions and Groovy. * methods for getting the entity's content as JSON or as a plain String * methods for setting the entity's content to JSON or String data * simplification (I hope) of the branch life-cycle management * make Message closeable, delegating close to the entity and onto the branching input stream, allowing us to avoid alot of null-checking boilerplace. git-svn-id: https://svn.forgerock.org/openig/trunk@443 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
31 Jul, 2014
2 commits
-
… order to add addition "enhanced" getters and setters for fields More mechanical changes: * add encapsulation for cookies * required equals/hashCode implementations for unit tests. git-svn-id: https://svn.forgerock.org/openig/trunk@433 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
… order to add addition "enhanced" getters and setters for fields * perform mechanical changes to encapsulate fields for Message, Request, and Response * added Javadoc for getters and setters * Message no longer extends FieldMap since the expression library leverages the BeanResolver. Remaining non-mechanical changes (e.g. adding enhanced getters/setters) will be performed as separate changes. git-svn-id: https://svn.forgerock.org/openig/trunk@430 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
30 Jul, 2014
4 commits
-
Main entry point is OAuth2ClientFilter Supports: * OAuth 2.0 "authorization code" grant type * automatic token refresh * proactive and reactive authorization for SSO * user initiated login / logout * OpenID Connect Relying Party * OpenID Connect discovery via "well-known configuration" * multiple providers and optional "Nascar" page * session based persistence * CSRF prevention via 160 bit state nonces * manually tested against OpenAM 11 and Google. TODO: * more unit testing * cookie based session management via encrypted JWT tokens * attribute mappings per provider? (TBD) * consider replacing default login/logout URLs with handlers? git-svn-id: https://svn.forgerock.org/openig/trunk@424 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@420 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* Added Base64 encode/decode functions * Added read() function to read from a file * Added readProperties() function to read from a properties file and return a Properties (usable as a Map) git-svn-id: https://svn.forgerock.org/openig/trunk@417 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* Added read-only support for 'system' -> system properties * Added read-only support for 'env' -> environment variables git-svn-id: https://svn.forgerock.org/openig/trunk@416 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
29 Jul, 2014
4 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@410 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* Uses Duration.duration(String) instead of constructor git-svn-id: https://svn.forgerock.org/openig/trunk@409 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@407 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@405 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
28 Jul, 2014
3 commits
-
* suppress warnings about missing Javadoc * suppress warnings about unused methods: they are actually accessed via reflection. git-svn-id: https://svn.forgerock.org/openig/trunk@402 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…here a heaplet's configuration parameter is optional. Allow name parameter to be null. If a name is provided then its associated object must exist in the heap. git-svn-id: https://svn.forgerock.org/openig/trunk@401 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@400 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
25 Jul, 2014
2 commits
-
* as per issue description * included updates to the reference guide. git-svn-id: https://svn.forgerock.org/openig/trunk@389 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…ince it complicates the configuration model - Deleted now unused files from openig-core. - Removed javax.servlet dependency from openig-core. git-svn-id: https://svn.forgerock.org/openig/trunk@387 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
24 Jul, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@384 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@381 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
21 Jul, 2014
3 commits
-
* Factored out HttpClient configuration from ClientHandler into an HttpClient specific Heaplet * GatewayServlet registers a default HttpClient instance in the heap at startup ** This object (named 'HttpClient') can be overridden in your config.json if needed * ClientHandler changed to use the system provided HttpClient (by default) ** Configuration has drastically changed (you now only specify optionally which HttpClient to use) * Script configuration has been updated like ClientHandler git-svn-id: https://svn.forgerock.org/openig/trunk@379 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* add unit test for defaultHandler. git-svn-id: https://svn.forgerock.org/openig/trunk@378 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* unit test for WelcomeHandler. git-svn-id: https://svn.forgerock.org/openig/trunk@377 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
18 Jul, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@372 dbb9e58e-28e6-4ce0-90e8-f11d9605b710