NAME

Authen::NZigovt::ResolutionResponse - Encapsulates the response from the IdP to the artifact resolution request

DESCRIPTION

This package is used by the Authen::NZigovt::ServiceProvider to represent the response received from the Identity Provider.

The is_success or is_error methods can be used to determine whether the user's logon was successful.

On success, the user's FLT can be retrieved using the flt method.

On failure, the URN identifying the exact error can be determined using the status_urn method. Convenience methods are also provided for identifying common error codes that you might want to handle (see: is_cancel, is_timeout, is_not_registered).

METHODS

new

Constructor. Should not be called directly. Instead, call the resolve_artifact method on the service provider object.

xml

The raw XML response from the IdP. Useful for logging and diagnostics.

status_urn

The 'StatusCode' 'Value' (most specific if more than one) in the response from the IdP. You probably want to use the convenience methods (such as is_cancel) rather than querying this directly although in the case of errors you will want to log this value.

status_message

In some error cases the IdP will return a human readable message relating to the error condition. If provided, you should include it in the error screen you display to your users. This routine will return an empty string if the response contained no message.

is_success

Returns true if the artifact resolution was successful and an FLT is available. Returns false otherwise.

is_error

Returns true if the artifact resolution was not successful. Returns false otherwise.

is_timeout

Returns true if the igovt logon service timed out waiting for the user to enter their account details. After this error, it is safe to present the user with a "try again" link.

is_cancel

Returns true if the user selected 'Cancel' or 'Return to agency site' rather than logging in. After this error, it is safe to present the user with a "try again" link.

is_not_registered

Returns true if the logon was successful but the user's igovt logon account has not been associated with this service provider (agency web site).

This situation will only occur if the original authentication request specified a false value for the allow_create option. Agency sites which use a separate flow for the initial sign-up process will need to handle this error.

flt

If the artifact resolution was successful, use this method to retrieve the user's FLT - a token uniquely identifying the user.

logon_strength

The URN indicating the logon strength returned by the IdP.

Note: If you have specific logon strength requirements, you should specify them using the logon_strength and strength_match options when calling the service provider's resolve_artifact method.

PRIVATE METHODS

The following methods are used by the service provider while setting up the response object and are not intended for use by the calling application.

set_status_urn
set_status_message
set_logon_strength
set_flt

SEE ALSO

See Authen::NZigovt for documentation index.

LICENSE AND COPYRIGHT

Copyright (c) 2010-2011 the New Zealand Electoral Enrolment Centre

Written by Grant McLean <grant@catalyst.net.nz>

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.