14 Jan, 2015

1 commit


12 Dec, 2014

1 commit


05 Dec, 2014

3 commits

  • git-svn-id: https://svn.forgerock.org/openig/trunk@792 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@791 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@790 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     

03 Dec, 2014

2 commits


02 Dec, 2014

3 commits

  • Reviewed onscreen by Jean-Charles.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@776 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     
  • `ConsoleLogSink` is now rendering each `LogEntry` on 2 lines with a line separator
    between entries, the objective being to improve console log readability. The first line
    is the header line and display the timestamp of the event (in the current system Locale),
    the entry's `LogLevel` and ends with the `Name` (leaf part) of the heap object that is
    the source of the log statement.
    
    ```
    MON DEC 01 20:39:16 CET 2014 (INFO) _Router
    Added route 'oauth2-resources.json' defined in file '/Users/guillaume/tmp/demo/config/routes/oauth2-resources.json'
    ------------------------------
    ```
    
    Notice that a special treatment is done when logging a `Throwable`: a condensed stack
    trace is printed on the console and if (and only if) the `LogSink` has been assigned
    a `DEBUG` or `TRACE` level, the full stack trace is printed (independently of the
    entry's level).
    
    ```
    MON DEC 01 15:28:10 CET 2014 (DEBUG) ResourceServer
    Initial token resolution has failed
    [     OAuth2TokenException] > Initial token resolution has failed
    [     OAuth2TokenException] > Authorization Server returned an error
                                  (error: bad_request, description: Could not read token in CTS)
    
    org.forgerock.openig.filter.oauth2.OAuth2TokenException: Initial token resolution has failed
      at org.forgerock.openig.filter.oauth2.cache.CachingAccessTokenResolver.resolve(CachingAccessTokenResolver.java:62)
    ... 33 more
    ------------------------------
    ```
    
    A new `stream` property has been added to `ConsoleLogSink` to let the user choose
    which PrintStream to use for printing messages:
     * `ERR`: Use System.err (default value, keep compatibility)
     * `OUT`: Use System.out
     * `AUTO`: Select System.out for `TRACE` to `INFO` messages, switching to System.err
       for `WARNING` and `ERROR`.
    
    `FileLogSink` implements a machine parseable `LogEntry` rendering: each entry is on
    one line and includes:
     * timestamp of the event (in the current system Locale), always have the same length
     * the entry's `LogLevel`, always 1 word, uppercase
     * the `Name` (leaf part) of the heap object that is the source of the log statement.
     * a `---` separator that segregates the beginning of the line (log statement's context)
       from the entry's message (the rest of the line)
    
    Notice that in the case of `Throwable` printing, the full stack trace is printed as commented lines.
    
    ```
    MON DEC 01 17:46:21 CET 2014 DEBUG ResourceServer --- Initial token resolution has failed
     # org.forgerock.openig.filter.oauth2.OAuth2TokenException: Initial token resolution has failed
     # 	at org.forgerock.openig.filter.oauth2.cache.CachingAccessTokenResolver.resolve(CachingAccessTokenResolver.java:62)
     # 	at org.forgerock.openig.filter.oauth2.OAuth2ResourceServerFilter.filter(OAuth2ResourceServerFilter.java:205)
     # 	at org.forgerock.openig.decoration.capture.CaptureFilter.filter(CaptureFilter.java:62)
    ```
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@771 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@770 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     

01 Dec, 2014

1 commit


28 Nov, 2014

2 commits


26 Nov, 2014

1 commit


25 Nov, 2014

3 commits


24 Nov, 2014

1 commit


22 Nov, 2014

1 commit


21 Nov, 2014

1 commit


20 Nov, 2014

3 commits

  • git-svn-id: https://svn.forgerock.org/openig/trunk@738 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     
  • The Client filter heavily use the `exchange.request.uri` property to compute URIs.
    
    That was causing issues because, in the set of upstream filters/handlers, someone
    could have rebased the request URI (usually to globally 'redirect' the message
    to the protected application). That was causing wrong URI computations (like an
    OAuth2 `redirect_uri` with the hostname of the protected application, instead of
    the user-facing one of OpenIG).
    
    This changes fix this behaviour with the introduction of an immutable
    `exchange.originalUri` property that is the original request URI, as received by the
    web container.
    
    The Client filter is now using this instead of the mutable one (`exchange.request.uri`).
    
    Updated the Nascar page sample of the documentation to limit copy/paste errors.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@735 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • expressions.
    
    OAuth2ResourceServerFilter.java
    - Replaced 'Set<String> scopes' to 'List<Expression> scopes'.
    - As the AccessToken defines scopes as Set<String>,
     added a new method to getScopes from List<Expression> to Set<String>.
    - InsufficientScopeChallengeHandler is no longer a field of the
    OAuth2ResourceServerFilter.
    - Added realm attribute to the OAuth2ResourceServerFilter.
    
    OAuth2ResourceServerFilterTest.java
    - Fixed tests according to the above modifications.
    - Added unit tests with expression evaluations.
    
    man-OAuth2ResourceServerFilter.xml
    - Modified doc according to Mark's patch.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@732 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    violette
     

18 Nov, 2014

1 commit


14 Nov, 2014

2 commits


12 Nov, 2014

2 commits


07 Nov, 2014

3 commits

  • Without this change, the OAuth 2.0 Client Filter triggers the retrieval of
    the user info resource for each request that is intercepted. It's a problem
    for Identity Providers such as Google that have an allowed quota of request/sec,
    because of the sudden burst of user info request.
    
    This is even worse than that because sometimes, the intercepted request may
    not even need to use theses information (think of OpenIG intercepting an
    image served by the protected application and returned as-is) ...
    
    This fix includes both a user-info resources caching for a few seconds (the
    time for all requests to load a web page to be executed) and a lazy loading
    of the resource (triggered the first time a downstream filter/handler access
    the `user_info` structure). By default, resources are kept for 20 seconds after
    the first access.
    
    Like for OAuth2ResourceServerFilter, you can disable that cache with
    `"cacheExpiration": "disabled"` in the configuration.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@694 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@690 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     
  • git-svn-id: https://svn.forgerock.org/openig/trunk@687 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    matthew
     

06 Nov, 2014

1 commit


03 Nov, 2014

1 commit


30 Oct, 2014

2 commits


29 Oct, 2014

1 commit

  • Although the JSON pointer is sufficient to guarantee unicity of a name
    within the scope of a heap, it makes it hard for reader to link that name
    to the configuration object they provided.
    
    This patch supports both improvements:
    * if a `name` attribute is provided in the declaration, use it as-is
    * if not, prepend the `type` attribute value to the pointer String to help identification
    
    This patch also updates the logs samples provided in the documentation.
    
    git-svn-id: https://svn.forgerock.org/openig/trunk@666 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    guillaume.sauthier
     

28 Oct, 2014

1 commit


24 Oct, 2014

1 commit

  • git-svn-id: https://svn.forgerock.org/openig/trunk@664 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
    mark
     

23 Oct, 2014

2 commits