Package io.jans.as.server.service
Class DeviceAuthorizationService
- java.lang.Object
-
- io.jans.as.server.service.DeviceAuthorizationService
-
- All Implemented Interfaces:
java.io.Serializable
@Named public class DeviceAuthorizationService extends java.lang.Object implements java.io.Serializable
Service used to process data related to device code grant type.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SESSION_ATTEMPTS
static java.lang.String
SESSION_LAST_ATTEMPT
static java.lang.String
SESSION_USER_CODE
-
Constructor Summary
Constructors Constructor Description DeviceAuthorizationService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDeviceAuthorizationPage(DeviceAuthorizationCacheControl deviceAuthorizationCacheControl, io.jans.as.common.model.registration.Client client, java.lang.String state, javax.servlet.http.HttpServletRequest servletRequest)
Validates data related to the cache, status and client in order to return correct redirection used to process device authorizations.DeviceAuthorizationCacheControl
getDeviceAuthzByDeviceCode(java.lang.String deviceCode)
Returns cache data related to the device authz request using user_code as cache key.DeviceAuthorizationCacheControl
getDeviceAuthzByUserCode(java.lang.String userCode)
Returns cache data related to the device authz request using device_code as cache key.java.lang.String
getUserCodeFromSession(javax.servlet.http.HttpServletRequest httpRequest)
Uses an HttpServletRequest, process it and return userCode in the session whether it exists.boolean
hasDeviceCodeCompatibility(io.jans.as.common.model.registration.Client client)
Verifies whether a specific client has Device Code grant type compatibility.void
removeDeviceAuthRequestInCache(java.lang.String userCode, java.lang.String deviceCode)
Removes device request data from cache using user_code and device_code.void
saveInCache(DeviceAuthorizationCacheControl data, boolean saveDeviceCode, boolean saveUserCode)
Saves data in cache, it could be saved with two identifiers used by Token endpoint or device_authorization page.
-
-
-
Field Detail
-
SESSION_ATTEMPTS
public static final java.lang.String SESSION_ATTEMPTS
- See Also:
- Constant Field Values
-
SESSION_LAST_ATTEMPT
public static final java.lang.String SESSION_LAST_ATTEMPT
- See Also:
- Constant Field Values
-
SESSION_USER_CODE
public static final java.lang.String SESSION_USER_CODE
- See Also:
- Constant Field Values
-
-
Method Detail
-
saveInCache
public void saveInCache(DeviceAuthorizationCacheControl data, boolean saveDeviceCode, boolean saveUserCode)
Saves data in cache, it could be saved with two identifiers used by Token endpoint or device_authorization page.- Parameters:
data
- Data to be saved.saveDeviceCode
- Defines whether data should be saved using device code.saveUserCode
- Defines whether data should be saved using user code.
-
getDeviceAuthzByUserCode
public DeviceAuthorizationCacheControl getDeviceAuthzByUserCode(java.lang.String userCode)
Returns cache data related to the device authz request using device_code as cache key.
-
getDeviceAuthzByDeviceCode
public DeviceAuthorizationCacheControl getDeviceAuthzByDeviceCode(java.lang.String deviceCode)
Returns cache data related to the device authz request using user_code as cache key.
-
hasDeviceCodeCompatibility
public boolean hasDeviceCodeCompatibility(io.jans.as.common.model.registration.Client client)
Verifies whether a specific client has Device Code grant type compatibility.- Parameters:
client
- Client to check.
-
getDeviceAuthorizationPage
public java.lang.String getDeviceAuthorizationPage(DeviceAuthorizationCacheControl deviceAuthorizationCacheControl, io.jans.as.common.model.registration.Client client, java.lang.String state, javax.servlet.http.HttpServletRequest servletRequest)
Validates data related to the cache, status and client in order to return correct redirection used to process device authorizations.- Parameters:
deviceAuthorizationCacheControl
- Cache data related to the device code request.client
- Client in process.state
- State of the authorization request.servletRequest
- HttpServletRequest
-
removeDeviceAuthRequestInCache
public void removeDeviceAuthRequestInCache(java.lang.String userCode, java.lang.String deviceCode)
Removes device request data from cache using user_code and device_code.- Parameters:
userCode
- User code used as key in cache.deviceCode
- Device code used as key in cache.
-
getUserCodeFromSession
public java.lang.String getUserCodeFromSession(javax.servlet.http.HttpServletRequest httpRequest)
Uses an HttpServletRequest, process it and return userCode in the session whether it exists.- Parameters:
httpRequest
- Request received from an user agent.
-
-