org.aselect.server.authspprotocol.handler
Class Radius

java.lang.Object
  extended by org.aselect.server.authspprotocol.handler.Radius
All Implemented Interfaces:
IAuthSPProtocolHandler

public class Radius
extends java.lang.Object
implements IAuthSPProtocolHandler

The Radius AuthSP Handler.

Description:
The Radius AuthSP Handler communicates with the Radius AuthSP by redirecting the client.

Concurrency issues:
None

Protocol Description:
Outgoing request going to the Radius AuthSP:

name value
rid A-Select Server request id
as_url A-Select Server url
uid A-Select Server user ID
a-select-server A-Select Server ID
signature Signature of all paramaters in the above sequence

Incoming response, which is returned by the Radius AuthSP:
name value
rid A-Select Server request id
result_code AuthSP result code
a-select-server A-Select Server ID
signature Signature over the following data:
  1. rid
  2. The URL that was created in computeAuthenticationRequest()
  3. result_code
  4. a-select-server

Author:
Alfa & Ariss

Constructor Summary
Radius()
           
 
Method Summary
 java.util.Hashtable computeAuthenticationRequest(java.lang.String sRid)
          Creates the Authentication Request for the Radius AuthSP, which will be send by redirecting the user.
 void init(java.lang.Object authSPConfig, java.lang.Object authSPResource)
          Initializes the Radius AuthSP handler.
 java.util.Hashtable verifyAuthenticationResponse(java.util.Hashtable htAuthspResponse)
          Checks the response from the Radius AuthSP.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Radius

public Radius()
Method Detail

init

public void init(java.lang.Object authSPConfig,
                 java.lang.Object authSPResource)
          throws ASelectAuthSPException
Initializes the Radius AuthSP handler.
Resolves the following config items:

Specified by:
init in interface IAuthSPProtocolHandler
Parameters:
authSPConfig - Object containing the authsp specific configuration.
authSPResource - Object containing the authsp specific resource(s).
Throws:
ASelectAuthSPException - If initialization fails.
See Also:
IAuthSPProtocolHandler.init(java.lang.Object, java.lang.Object)

computeAuthenticationRequest

public java.util.Hashtable computeAuthenticationRequest(java.lang.String sRid)
Creates the Authentication Request for the Radius AuthSP, which will be send by redirecting the user.

Description:
This method creates a hashtable with the follwing contents:
key value
result Errors.ERROR_ASELECT_SUCCESS or an error code if creating the authentication request URL fails
redirect_url The URL to the AuthSP including the protocol parameters as specified in the class description.

Specified by:
computeAuthenticationRequest in interface IAuthSPProtocolHandler
Parameters:
sRid - Needed parameter in the redirect URL. Can also be used to retrieve session information from the SessionManager.
Returns:
Hashtable containing at least:
  • result
  • redirect_url
See Also:
IAuthSPProtocolHandler.computeAuthenticationRequest(java.lang.String)

verifyAuthenticationResponse

public java.util.Hashtable verifyAuthenticationResponse(java.util.Hashtable htAuthspResponse)
Checks the response from the Radius AuthSP.

Description:
This method verifies the response from the AuthSP. The response parameters are placed in htAuthspResponse and are described in the class description.

This method creates a hashtable with the following contents:
key value
result Errors.ERROR_ASELECT_SUCCESS or an error code if the authentication response was invalid or the user was not authenticated.
rid The A-Select request identifier of this authentication.

Specified by:
verifyAuthenticationResponse in interface IAuthSPProtocolHandler
Parameters:
htAuthspResponse - Hashtable containing all parameters that were received from the AuthSP. It should contain at least:
  • rid
Returns:
Hashtable containing at least:
  • result
  • rid
See Also:
IAuthSPProtocolHandler.verifyAuthenticationResponse(java.util.Hashtable)


Copyright © 2008 SURFnet BV. All Rights Reserved.