Package org.oa4mp.delegation.server.jwt
Class HandlerRunner
- java.lang.Object
-
- org.oa4mp.delegation.server.jwt.HandlerRunner
-
public class HandlerRunner extends Object
Runs the various configured handlers in the correct phases. The contract is generally that it has (multiple)PayloadHandler
s which process a given token. These are run at various times during execution based on the phase and flow states.Created by Jeff Gaynor
on 2/15/20 at 7:38 AM
-
-
Constructor Summary
Constructors Constructor Description HandlerRunner(OIDCServiceTransactionInterface transaction, edu.uiuc.ncsa.security.util.scripting.ScriptRuntimeEngine scriptRuntimeEngine)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addHandler(PayloadHandler handler)
void
doAuthClaims()
void
doRefreshClaims()
protected void
doScript(String phase)
void
doTokenClaims()
protected void
doTokenClaims(boolean isRefresh)
void
doTokenExchange()
void
doUserInfo()
AccessTokenHandlerInterface
getAccessTokenHandler()
protected void
getFromSources(FlowStates flowStates, String execPhase, boolean checkAuthClaims)
Deprecated.This should go away at some point since it has to loop over handler and basically ignores how the system works.IDTokenHandlerInterface
getIdTokenHandlerInterface()
RefreshTokenHandlerInterface
getRefreshTokenHandler()
edu.uiuc.ncsa.security.util.scripting.ScriptRuntimeEngine
getScriptRuntimeEngine()
protected void
handleSREResponse(OIDCServiceTransactionInterface transaction, edu.uiuc.ncsa.security.util.scripting.ScriptRunResponse scriptRunResponse)
Process the script, but the claim sources are not updated because we are not interested in the claim sources, e.g.boolean
hasATHandler()
boolean
hasIDTokenHandler()
boolean
hasRTHandler()
void
initializeHandlers()
protected void
newDoScript(String phase)
protected edu.uiuc.ncsa.security.util.scripting.ScriptRunRequest
newSRR(OIDCServiceTransactionInterface transaction, String phase)
creates newScriptRunRequest
with the basic information from the transaction.void
setAccessTokenHandler(AccessTokenHandlerInterface accessTokenHandler)
void
setIdTokenHandlerInterface(IDTokenHandlerInterface idTokenHandlerInterface)
void
setRefreshTokenHandler(RefreshTokenHandlerInterface refreshTokenHandler)
-
-
-
Constructor Detail
-
HandlerRunner
public HandlerRunner(OIDCServiceTransactionInterface transaction, edu.uiuc.ncsa.security.util.scripting.ScriptRuntimeEngine scriptRuntimeEngine)
-
-
Method Detail
-
getAccessTokenHandler
public AccessTokenHandlerInterface getAccessTokenHandler()
-
setAccessTokenHandler
public void setAccessTokenHandler(AccessTokenHandlerInterface accessTokenHandler)
-
getIdTokenHandlerInterface
public IDTokenHandlerInterface getIdTokenHandlerInterface()
-
setIdTokenHandlerInterface
public void setIdTokenHandlerInterface(IDTokenHandlerInterface idTokenHandlerInterface)
-
hasIDTokenHandler
public boolean hasIDTokenHandler()
-
hasATHandler
public boolean hasATHandler()
-
setRefreshTokenHandler
public void setRefreshTokenHandler(RefreshTokenHandlerInterface refreshTokenHandler)
-
getRefreshTokenHandler
public RefreshTokenHandlerInterface getRefreshTokenHandler()
-
hasRTHandler
public boolean hasRTHandler()
-
addHandler
public void addHandler(PayloadHandler handler)
-
getFromSources
protected void getFromSources(FlowStates flowStates, String execPhase, boolean checkAuthClaims) throws Throwable
Deprecated.This should go away at some point since it has to loop over handler and basically ignores how the system works.Get the claims sources for the ID token. This is needed only if the handler will attempt to get claims at some point.- Parameters:
flowStates
-checkAuthClaims
-- Throws:
Throwable
-
getScriptRuntimeEngine
public edu.uiuc.ncsa.security.util.scripting.ScriptRuntimeEngine getScriptRuntimeEngine()
-
newSRR
protected edu.uiuc.ncsa.security.util.scripting.ScriptRunRequest newSRR(OIDCServiceTransactionInterface transaction, String phase)
creates newScriptRunRequest
with the basic information from the transaction. Anything specific to the handler needs to be added in thePayloadHandler.addRequestState(ScriptRunRequest)
. This sends along the current claims, scopes flow states and claim sources then harvests them in toto from the response.- Returns:
-
handleSREResponse
protected void handleSREResponse(OIDCServiceTransactionInterface transaction, edu.uiuc.ncsa.security.util.scripting.ScriptRunResponse scriptRunResponse) throws IOException
Process the script, but the claim sources are not updated because we are not interested in the claim sources, e.g. if this is called after all claims sources have been processed and the script just massages the claims or flow states.- Parameters:
scriptRunResponse
-- Throws:
IOException
-
-