Douglas Christopher Wilson > Authen-CAS-External > Authen::CAS::External::UserAgent

Download:
Authen-CAS-External-0.08.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.08   Source  

NAME ^

Authen::CAS::External::UserAgent - UserAgent role for CAS session managers.

VERSION ^

This documentation refers to version 0.08.

SYNOPSIS ^

  package MyCAS::Session;

  use Moose;

  # Use this role
  with 'Authen::CAS::External::UserAgent';

  sub get_cas_credentials {
    my ($self, $service) = @_;

    # Do something

    return $username, $password;
  }

  sub get_cas_ticket_granting_cookie {
    my ($self, $username, $service) = @_;

    # Do something

    return $TGC;
  }

  1;

DESCRIPTION ^

Provides a way to authenticate with a CAS server just as a browser would. This is useful with web scrapers needing to login to a CAS site.

ROLE REQUIRES ^

This is a Moose::Role and for this role to be used, the user MUST provide the following two methods:

get_cas_credentials

This is called as a method with the first argument being a string that is the URL of the service that is about to be logged in to. If no service is being logged in to, then it will be undefined. This function is expected to return a username string and a password string, both of which are optional, but MUST be returned in that order.

get_cas_ticket_granting_cookie

This is called as a method with the first argument being a string that is the username being used and the second argument being a string that is the URL of the service that is about to be logged into. This function is expected to return a string that is the ticket granting cookie for the CAS service, or nothing.

ATTRIBUTES ^

cas_url

This is a URI object of the base URL of the CAS site. This is typically the path before /login. A string may be supplied and will automatically be converted to a URI object.

previous_response

This holds the response object Authen::CAS::External::Response from the last executed CAS navigation.

redirect_back

This is a Boolean that determines if the "user_agent" will navigate outside of the "cas_url". The default is 0.

user_agent

This is a LWP::UserAgent that is used to navigate the CAS site. The default is LWP::UserAgent with an in-memory cookie jar and allows the POST method to be redirectable.

METHODS ^

clear_previous_response

This will clear the "previous_response" attribute.

get

This is an alias to the get method of the "user_agent".

has_previous_response

This will return if there is a value present in the "previous_response" attribute.

service_request_url

service_request_url(%args)

This method will return a URI object that is the URL to request for the CAS login page. All arguments are optional. The following are the possible arguments:

DEPENDENCIES ^

AUTHOR ^

Douglas Christopher Wilson, <doug at somethingdoug.com>

BUGS AND LIMITATIONS ^

Please report any bugs or feature requests to bug-authen-cas-external at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Authen-CAS-External. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

I highly encourage the submission of bugs and enhancements to my modules.

LICENSE AND COPYRIGHT ^

Copyright 2009 Douglas Christopher Wilson.

This program is free software; you can redistribute it and/or modify it under the terms of either:

syntax highlighting: