function cas_test_login in CAS 7
Same name and namespace in other branches
- 6.3 tests/cas_test.module \cas_test_login()
Initiate a login request.
Set the 'cas_test_cas_user' variable to an associative array containing:
- 'name': CAS username.
- 'attributes': (optional) Any other name-value pairs to be returned by the CAS server.
1 string reference to 'cas_test_login'
- cas_test_menu in tests/
cas_test.module - Implements hook_menu().
File
- tests/
cas_test.module, line 115 - Dummy module implementing a CAS Server.
Code
function cas_test_login() {
// Get the service and make a ticket.
$service = $_REQUEST['service'];
$cas_user = variable_get('cas_test_cas_user', '');
if ($cas_user) {
if (!is_array($cas_user)) {
$cas_user = array(
'name' => $cas_user,
'attributes' => array(),
);
}
// Generate a ticket and redirect to the service URL with the login ticket.
$ticket = _cas_test_ticket_generate($service, $cas_user);
// Force redirection.
unset($_GET['destination']);
drupal_goto($service, array(
'query' => array(
'ticket' => $ticket,
),
));
}
elseif (isset($_GET['gateway']) && $_GET['gateway'] == 'true') {
// We were not able to log in the user, so redirect to the service URL.
// Force redirection.
unset($_GET['destination']);
drupal_goto($service);
}
else {
// No CAS name was provided, print an error message.
print "Warning: No CAS name provided.\n";
exit;
}
}