I am getting the following error after logging in through my universities CAS system.

phpCAS error: phpCAS::forceAuthentication(): one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called. in /var/www/html/sites/all/modules/cas/cas.module on line 54

I am running the following:
Drupal 5.5
CAPTCHA Already 0 blocked form submissions
Configuration file Protected
Cron maintenance tasks Last run 22 hours 45 min ago
You can run cron manually.
Database schema Up to date
Drupal core update status Up to date
File system Writable (public download method)
GD library bundled (2.0.28 compatible)
Module update status Up to date
MySQL database 5.0.22
PHP 5.1.6
Unicode library PHP Mbstring Extension
Web server Apache/2.2.3 (CentOS)

Comments

metzlerd’s picture

Do you know what version of the CAS client you are running? Which did you download?

Dave

jsloyer’s picture

phpcas-0.6.0-RC4

jsloyer’s picture

I just switched to phpcas-0.5.1-1 and that seems to be partially working. I can log in with CAS now but a blank white page comes up without anything, if you refresh the url, it will go to a page in Drupal, page not found.

I have copied part of the Apache error log, it looks like an issue with pathauto. I have removed parts of the log for security.

[Wed Dec 12 22:28:04 2007] [error] [client xxx.xxx.xxx.xxx] PHP Fatal error: Call to undefined function token_get_values() in /var/www/html/sites/all/modules/pathauto/pathauto.inc on line 354, referer: https://auth.domain.edu/login?service=https%3A%2F%2Fsite.subdomain.domai...

metzlerd’s picture

Yes, it looks like I'm going to need to add some new configuration options to fully support the 0.6 version. I think you would get this function not found problem with path-auto regardless of the cas version. You might consider trying to turn caching off to see if the undefined function calls go away.

The problem is that we invoke a user login, and when page caching is on, certain functions are not available.

Alternatively, download the Devel module and use it to adjust module weights so that CAS loads later in the module list. It might help alleviate some of these problems.

I'll leave this active and get back to a patch for the new version of PHPcas.

Dave

metzlerd’s picture

Status: Active » Fixed

In HEAD, I updated the code so that it supports the new PEM Cert options in phpCAS 0.6 RC4. I haven't been able to get the certificate authentications to fail no matter what I put in, but at least the phpCAS api has support for the new feature now. Default is to not authenticate the certificate. But no errors are thrown for the client now in this version. Will be testing with older versions of CAS back at the office for backwards compatibiiity.

Dave

jsloyer’s picture

Status: Fixed » Active

I just checked my config. Caching is turned off. I also tried changing the weight of module to 10 and still no luck.

If it helps, I am hitting the following URL,
https://site.subdomain.domain.edu/?q=cas&ticket=ST-32653-HHnPe52a2Ab4nWM...

The above URL is what Apache is choking on with the PHP pathauto error.

jsloyer’s picture

I found a quick and dirty fix to fix the problem with token not being found. Inside of cas.module I added

include_once('sites/all/modules/token/token.inc');
jdleonard’s picture

The problem finding token.inc is no longer an issue in Token >5.x-1.9 (5.x-1.x-dev) because token.inc has been merged into token.module.

metzlerd’s picture

Status: Active » Closed (fixed)

Closing this then. It's really about the phpCAS version support and not token.inc