net.geant.edugain.base
Class AuthorizationResponse

java.lang.Object
  extended by net.geant.edugain.base.Response
      extended by net.geant.edugain.base.AuthorizationResponse
All Implemented Interfaces:
java.io.Serializable

public class AuthorizationResponse
extends Response
implements java.io.Serializable

A response containing an authorisation decision according to a previously issued AuthZReq. It must contain a boolean value specifying the decision and may include data to be used by the resource for whatever purpose (personalisation, for example) and/or an explanation about the returned decision, according to service and privacy policies.

This class extends Response.

Version:
0.7
Author:
Jaime Perez
See Also:
Serialized Form

Field Summary
protected  java.util.ArrayList<java.lang.String> actions
          A list of actions that the user is authorized to perform.
private  org.apache.log4j.Logger log
           
protected  java.net.URI resource
          The URI of the resource the authorisation is resolved for.
 
Fields inherited from class net.geant.edugain.base.Response
additionalData, consumerId, EDUGAIN_NAMESPACE_RESULT_ACCEPTED, EDUGAIN_NAMESPACE_RESULT_CONNECT_TO, EDUGAIN_NAMESPACE_RESULT_DENY, EDUGAIN_NAMESPACE_RESULT_EXPIRED_MESSAGE, EDUGAIN_NAMESPACE_RESULT_FAULT, EDUGAIN_NAMESPACE_RESULT_INCOMPATIBLE_VERSIONS, EDUGAIN_NAMESPACE_RESULT_INSUFFICIENT_DATA, EDUGAIN_NAMESPACE_RESULT_INVALID_CREDENTIALS, EDUGAIN_NAMESPACE_RESULT_MALFORMED_MESSAGE, EDUGAIN_NAMESPACE_RESULT_REDIRECT_USER_TO, EDUGAIN_NAMESPACE_RESULT_TRUST_ERROR, EDUGAIN_NAMESPACE_RESULT_UNKNOWN_HOMESITE, errorMessage, errorReason, inResponseTo, interfaces, issued, notBefore, notOnOrAfter, producerId, responseID, result, resultMessage
 
Constructor Summary
AuthorizationResponse()
          Creates a new instance of AuthorizationResponse
AuthorizationResponse(org.opensaml.saml2.core.Response rsp)
          Creates a new instance of AuthorizationResponse, filling the fields with the Response data received.
AuthorizationResponse(org.opensaml.SAMLResponse rsp)
          Creates a new instance of AuthorizationResponse, filling the fields with the SAMLResponse data received.
 
Method Summary
 void addAction(java.lang.String action)
          Adds the specified action to the current list.
 void fromSAML(org.opensaml.saml2.core.Response response)
          Fill this AuthorizationResponse with a SAML 2 Response
 void fromSAML(org.opensaml.SAMLResponse response)
          Fill this AuthorizationResponse with a SAMLResponse.
 java.util.ArrayList<java.lang.String> getActions()
          Gets the list of actions accepted for this response.
 java.net.URI getResource()
          Gets the resource for this AuthorizationResponse.
 void removeAction(java.lang.String action)
          Removes the specified action from the current list.
 void setResource(java.lang.String r)
          Sets the resource for this AuthorizationResponse.
 void setResource(java.net.URI r)
          Sets the resource for this AuthorizationResponse.
 java.lang.Object toSAML()
          Converts this response object into a SAML response.
private  org.opensaml.SAMLResponse toSAML1(int minor)
          Map the current AuthorizationResponse to a SAML 1.X response.
private  org.opensaml.saml2.core.Response toSAML2(int minor)
          Map the current AuthorizationResponse to a SAML 2.X response.
 
Methods inherited from class net.geant.edugain.base.Response
fromInputStream, generateResponseID, getAdditionalData, getConsumerId, getInResponseTo, getInterfaces, getIssued, getNotBefore, getNotOnOrAfter, getProducerId, getResponseID, getResult, getResultMessage, getSigningProperties, getValidatedTrust, setAdditionalData, setConsumerId, setInResponseTo, setInterfaces, setIssued, setNotBefore, setNotOnOrAfter, setProducerId, setResponseID, setResponseID, setResult, setResultMessage, setSigningProperties, setValidatedTrust, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

private org.apache.log4j.Logger log

resource

protected java.net.URI resource
The URI of the resource the authorisation is resolved for.


actions

protected java.util.ArrayList<java.lang.String> actions
A list of actions that the user is authorized to perform.

Constructor Detail

AuthorizationResponse

public AuthorizationResponse()
Creates a new instance of AuthorizationResponse


AuthorizationResponse

public AuthorizationResponse(org.opensaml.SAMLResponse rsp)
                      throws BaseException
Creates a new instance of AuthorizationResponse, filling the fields with the SAMLResponse data received.

Parameters:
rsp - The original SAML response.
Throws:
BaseException

AuthorizationResponse

public AuthorizationResponse(org.opensaml.saml2.core.Response rsp)
                      throws BaseException
Creates a new instance of AuthorizationResponse, filling the fields with the Response data received.

Parameters:
rsp - The original SAML 2 response.
Throws:
BaseException
Method Detail

getResource

public java.net.URI getResource()
Gets the resource for this AuthorizationResponse.

Returns:
The resource field.

setResource

public void setResource(java.net.URI r)
Sets the resource for this AuthorizationResponse.

Parameters:
r - The resource field to use.

setResource

public void setResource(java.lang.String r)
                 throws BaseException
Sets the resource for this AuthorizationResponse.

Parameters:
r - A string representation of an URI.
Throws:
BaseException

addAction

public void addAction(java.lang.String action)
Adds the specified action to the current list.

Parameters:
action - The action to add.

getActions

public java.util.ArrayList<java.lang.String> getActions()
Gets the list of actions accepted for this response.

Returns:
The list of actions.

removeAction

public void removeAction(java.lang.String action)
Removes the specified action from the current list.

Parameters:
action - The action to remove.

fromSAML

public void fromSAML(org.opensaml.SAMLResponse response)
              throws BaseException
Fill this AuthorizationResponse with a SAMLResponse. As OpenSAML1.1 does not support //Response/Status/StatusDetail, AdditionalData is currently unsupported.

Parameters:
response - The SAML response.
Throws:
BaseException

fromSAML

public void fromSAML(org.opensaml.saml2.core.Response response)
              throws BaseException
Fill this AuthorizationResponse with a SAML 2 Response

Throws:
BaseException

toSAML

public java.lang.Object toSAML()
                        throws BaseException
Converts this response object into a SAML response. Please consider that this method returns an OpenSAML1 or an OpenSAML2 Response object depending on the SAML version eduGAIN is configured to use.

Returns:
A SAMLResponse or a Response, depending on the SAML version eduGAIN is configured to use.
Throws:
BaseException

toSAML1

private org.opensaml.SAMLResponse toSAML1(int minor)
                                   throws BaseException
Map the current AuthorizationResponse to a SAML 1.X response.

Parameters:
minor - The minor version number (can be 0 or 1).
Returns:
The SAMLResponse that corresponds with this AuthorizationResponse.
Throws:
BaseException

toSAML2

private org.opensaml.saml2.core.Response toSAML2(int minor)
                                          throws BaseException
Map the current AuthorizationResponse to a SAML 2.X response.

Parameters:
minor - The minor version number (can be 0 or 1).
Returns:
The Response that corresponds with this AuthorizationResponse.
Throws:
BaseException