org.aselect.server.request.handler.shibboleth
Class ShibbolethWAYFProfile
java.lang.Object
org.aselect.server.request.handler.AbstractRequestHandler
org.aselect.server.request.handler.shibboleth.ShibbolethWAYFProfile
- All Implemented Interfaces:
- IRequestHandler
public class ShibbolethWAYFProfile
- extends AbstractRequestHandler
Where are you from request handler.
Description:
WAYF request handler with a Shibboleth interface.
Concurrency issues:
-
- Author:
- Alfa & Ariss
Method Summary |
void |
destroy()
Clears class variables from memory. |
void |
init(javax.servlet.ServletConfig oServletConfig,
java.lang.Object oConfig)
Initializes the WAYF request handler. |
RequestState |
process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Processes the following requests:
a)
?providerId=[providerId]&shire=[shire]&target=[target]&time=[time]
The time parameter is optional, if available the request will be checked
for expiration. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ShibbolethWAYFProfile
public ShibbolethWAYFProfile()
init
public void init(javax.servlet.ServletConfig oServletConfig,
java.lang.Object oConfig)
throws ASelectException
- Initializes the WAYF request handler.
Description:
Reads the following configuration:
<handler>
<template>[template]</template>
<cookie domain='[domain]'/>
<time offset='[offset]'/>
<identity_providers>
<idp alias='[alias]' url='[url]'/>
...
</identity_providers>
</handler>
- template - file name of the WAYF template, the file must be
located in [working_dir]/aselectserver/conf/html/
- domain - The cookie tag is optional, if avalable the domain is
the domain on which the cookie will be set e.g. 'a-select.org'
- offset - time offset in seconds
- alias - the name that will be shown in the pulldown menu
- url - the IdP url to which the request must be redirected
The _vIdPs
contains the sequence of the configured IdP's,
according to this sequence the items will be shown in the pulldown.
The _htIdPs
contains the IdP's with key=alias and value=url
- Specified by:
init
in interface IRequestHandler
- Overrides:
init
in class AbstractRequestHandler
- Parameters:
oServletConfig
- Servlet Config of the Parent servletoConfig
- Object containing the RequestHandler configuration
- Throws:
ASelectException
- if initalization fails- See Also:
AbstractRequestHandler.init(javax.servlet.ServletConfig, java.lang.Object)
process
public RequestState process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws ASelectException
- Processes the following requests:
a)
?providerId=[providerId]&shire=[shire]&target=[target]&time=[time]
The time
parameter is optional, if available the request will be checked
for expiration. A request is expired if the sent time has a bigger delay
then the configured offset.
As result of this request, the WAYF page will be shown.
b)
?providerId=[providerId]&shire=[shire]&target=[target]&idp=[idp]
This request results in a redirect to the 'idp'.
If a cookie is available with the name 'idp' then this idp will be
selected in the pulldown.
During processing, the following steps are runned through:
- checking validity of the request parameters
- verify optional request time with configured offset
- checks if idp parameter is available in request, if available the
user will be redirected else the WAYF page will be shown
- Parameters:
request
- HttpServletRequest containing the requestresponse
- HttpServletResponse containing the response
- Returns:
- RequestState containing the request handling state
- Throws:
ASelectException
- if the request couldn't be processed- See Also:
IRequestHandler.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
destroy
public void destroy()
- Clears class variables from memory.
- See Also:
IRequestHandler.destroy()
Copyright © 2008 SURFnet BV. All Rights Reserved.