|
25 | 25 | import static org.forgerock.openig.heap.Keys.CLIENT_HANDLER_HEAP_KEY; |
26 | 26 | import static org.forgerock.openig.heap.Keys.SCHEDULED_EXECUTOR_SERVICE_HEAP_KEY; |
27 | 27 | import static org.forgerock.openig.heap.Keys.TIME_SERVICE_HEAP_KEY; |
| 28 | +import static org.forgerock.openig.util.JsonValues.optionalHeapObject; |
28 | 29 | import static org.forgerock.openig.util.JsonValues.requiredHeapObject; |
29 | 30 |
|
30 | 31 | import java.util.HashSet; |
@@ -130,13 +131,14 @@ public Object create() throws HeapException { |
130 | 131 |
|
131 | 132 | TimeService time = heap.get(TIME_SERVICE_HEAP_KEY, TimeService.class); |
132 | 133 |
|
133 | | - AccessTokenResolver resolver = config.get("accessTokenResolver").defaultTo( |
134 | | - new OpenAmAccessTokenResolver(httpHandler, time, |
135 | | - config.get("tokenInfoEndpoint") |
136 | | - .as(evaluatedWithHeapProperties()) |
137 | | - .required().asString())) |
138 | | - .as(requiredHeapObject(heap, AccessTokenResolver.class)); |
139 | | - |
| 134 | + AccessTokenResolver resolver = config.get("accessTokenResolver") |
| 135 | + .as(optionalHeapObject(heap, AccessTokenResolver.class)); |
| 136 | + if(resolver == null) { |
| 137 | + resolver = new OpenAmAccessTokenResolver(httpHandler, time, |
| 138 | + config.get("tokenInfoEndpoint") |
| 139 | + .as(evaluatedWithHeapProperties()) |
| 140 | + .required().asString()); |
| 141 | + } |
140 | 142 |
|
141 | 143 | if(resolver instanceof ScriptableAccessTokenResolver) { |
142 | 144 | ((ScriptableAccessTokenResolver) resolver) |
|
0 commit comments