Class BasicRefreshTokenHandler
- java.lang.Object
-
- org.oa4mp.server.loader.oauth2.claims.AbstractPayloadHandler
-
- org.oa4mp.server.loader.oauth2.tokens.BasicRefreshTokenHandler
-
- All Implemented Interfaces:
PayloadHandler
,RefreshTokenHandlerInterface
,Serializable
public class BasicRefreshTokenHandler extends AbstractPayloadHandler implements RefreshTokenHandlerInterface
Created by Jeff Gaynor
on 8/5/20 at 9:18 AM- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
REFRESH_TOKEN_BASIC_HANDLER_TYPE
static String
REFRESH_TOKEN_DEFAULT_HANDLER_TYPE
-
Fields inherited from class edu.uiuc.ncsa.myproxy.oa4mp.oauth2.claims.AbstractPayloadHandler
claims, oa2se, request, transaction
-
-
Constructor Summary
Constructors Constructor Description BasicRefreshTokenHandler(PayloadHandlerConfigImpl payloadHandlerConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRequestState(edu.uiuc.ncsa.security.util.scripting.ScriptRunRequest req)
Marshall any resources this script needs to make a request.void
checkClaims()
Called after the runner has gotten the claims so that this class can check integrity.void
finish(String execPhase)
Called at the very end of all processing, this lets the handler, clean up or whatever it needs to do.RefreshToken
getRefreshToken()
protected RefreshTokenConfig
getRTConfig()
net.sf.json.JSONObject
getRTData()
RefreshToken
getSignedRT(edu.uiuc.ncsa.security.util.jwk.JSONWebKey key)
List<ClaimSource>
getSources()
These are the sources that the runner will use to populate the claimsvoid
handleResponse(edu.uiuc.ncsa.security.util.scripting.ScriptRunResponse resp)
This takes the response from a script and unmarshalls the resourcesvoid
init()
Creates and initializes the claims object this class manages.void
refreshAccountingInformation()
This is used on refresh only.void
saveState()
Called at the end of each block, this lets the handler save its state.void
setAccountingInformation()
This sets the accounting information (such as the expiration and such) for a token.void
setRefreshToken(RefreshToken refreshToken)
void
setRTData(net.sf.json.JSONObject rtData)
-
Methods inherited from class edu.uiuc.ncsa.myproxy.oa4mp.oauth2.claims.AbstractPayloadHandler
doServerVariables, doSubstitution, execute, getClaims, getExtendedAttributes, getPhCfg, getResponseCode, getToken, hasScript, isEmpty, listToString, refresh, setClaims, setExtendedAttributes, setPhCfg, setResponseCode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface edu.uiuc.ncsa.oa4mp.delegation.oa2.jwt.PayloadHandler
execute, getClaims, getExtendedAttributes, getPhCfg, getResponseCode, getToken, hasScript, refresh, setPhCfg, setResponseCode
-
-
-
-
Field Detail
-
REFRESH_TOKEN_DEFAULT_HANDLER_TYPE
public static final String REFRESH_TOKEN_DEFAULT_HANDLER_TYPE
- See Also:
- Constant Field Values
-
REFRESH_TOKEN_BASIC_HANDLER_TYPE
public static final String REFRESH_TOKEN_BASIC_HANDLER_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BasicRefreshTokenHandler
public BasicRefreshTokenHandler(PayloadHandlerConfigImpl payloadHandlerConfig)
-
-
Method Detail
-
getRefreshToken
public RefreshToken getRefreshToken()
- Specified by:
getRefreshToken
in interfaceRefreshTokenHandlerInterface
-
setRefreshToken
public void setRefreshToken(RefreshToken refreshToken)
- Specified by:
setRefreshToken
in interfaceRefreshTokenHandlerInterface
-
getRTData
public net.sf.json.JSONObject getRTData()
-
setRTData
public void setRTData(net.sf.json.JSONObject rtData)
-
getSignedRT
public RefreshToken getSignedRT(edu.uiuc.ncsa.security.util.jwk.JSONWebKey key)
- Specified by:
getSignedRT
in interfaceRefreshTokenHandlerInterface
-
init
public void init() throws Throwable
Description copied from interface:PayloadHandler
Creates and initializes the claims object this class manages.- Specified by:
init
in interfacePayloadHandler
- Throws:
Throwable
-
addRequestState
public void addRequestState(edu.uiuc.ncsa.security.util.scripting.ScriptRunRequest req) throws Throwable
Description copied from interface:PayloadHandler
Marshall any resources this script needs to make a request. I.e., add specific state (if needed) from this handler to theScriptRunRequest
.- Specified by:
addRequestState
in interfacePayloadHandler
- Throws:
Throwable
-
handleResponse
public void handleResponse(edu.uiuc.ncsa.security.util.scripting.ScriptRunResponse resp) throws Throwable
Description copied from interface:PayloadHandler
This takes the response from a script and unmarshalls the resources- Specified by:
handleResponse
in interfacePayloadHandler
- Overrides:
handleResponse
in classAbstractPayloadHandler
- Throws:
Throwable
-
checkClaims
public void checkClaims() throws Throwable
Description copied from interface:PayloadHandler
Called after the runner has gotten the claims so that this class can check integrity. For instance, an OIDC server would need to see that the subject is set properly. SciTokens needs to check that its scopes (aka resource permissions) were set- Specified by:
checkClaims
in interfacePayloadHandler
- Throws:
Throwable
-
getSources
public List<ClaimSource> getSources() throws Throwable
Description copied from interface:PayloadHandler
These are the sources that the runner will use to populate the claims- Specified by:
getSources
in interfacePayloadHandler
- Returns:
- Throws:
Throwable
-
finish
public void finish(String execPhase) throws Throwable
Description copied from interface:PayloadHandler
Called at the very end of all processing, this lets the handler, clean up or whatever it needs to do. It is called beforePayloadHandler.saveState()
.- Specified by:
finish
in interfacePayloadHandler
- Parameters:
execPhase
- - the current execution phase.- Throws:
Throwable
-
saveState
public void saveState() throws Throwable
Description copied from interface:PayloadHandler
Called at the end of each block, this lets the handler save its state. Note that for OA4MP, the state is saved in the transaction which is saved once after the handlers run. Only put actual save code in here if needed, since it is apt to get called a lot.- Specified by:
saveState
in interfacePayloadHandler
- Throws:
Throwable
-
getRTConfig
protected RefreshTokenConfig getRTConfig()
-
setAccountingInformation
public void setAccountingInformation()
Description copied from interface:PayloadHandler
This sets the accounting information (such as the expiration and such) for a token. This is called when a token is created or refreshed.- Specified by:
setAccountingInformation
in interfacePayloadHandler
-
refreshAccountingInformation
public void refreshAccountingInformation()
Description copied from interface:PayloadHandler
This is used on refresh only. It will reset all the standard accounting information (such as timestamps) for an existing claims object.Usage
Create an instance of the handler with the constructor for any state, then invoke this method.- Specified by:
refreshAccountingInformation
in interfacePayloadHandler
-
-