kevinoconnor7 / osTicket-auth-cas

JASIG CAS Authentication plugin for osTicket
GNU General Public License v2.0
13 stars 8 forks source link

auth-cas error after upgrade to osTicket Version v1.17-rc4 #35

Closed pwhawley closed 1 year ago

pwhawley commented 1 year ago

Hello, I receive the following error when enabling CAS authentication plugin after upgrading to OSTicket v1.17rc4.

Fatal error: Cannot redeclare non static AuthenticationBackend::$config as static CasStaffAuthBackend::$config in phar://C:/include/plugins/auth-cas.phar/cas.php on line 243

Environment: Windows Server 2012 R2 osTicket Version | v1.17-rc4 (356e156)   Web Server Software | Microsoft-IIS/8.5 MySQL Version | 8.0.20 PHP Version | 8.0.22

JASIG CAS Authentication | 1.2.1

tauthement commented 1 year ago

I'm getting the same error with the 1.17 release.

osTicket Version | 1.17-git (34c64f14)   Web Server Software | Apache MySQL Version | 10.5.17 PHP Version | 8.0.23

larueli commented 1 year ago

I also got this issue.

It appears that implementing the multi-instance feature of osTicket led to this commit : https://github.com/osTicket/osTicket/commit/0b93b48ec6c821e9f182ab2a830ca0adcf24138a.

It created a protected non static attribute config for the class AuthenticationBackend

https://github.com/osTicket/osTicket/blob/0b93b48ec6c821e9f182ab2a830ca0adcf24138a/include/class.auth.php#L180

This new attribute being protected is given to all derivated classes, including StaffAuthenticationBackend, then ExternalStaffAuthenticationBackend, and ultimately to our plugin CasStaffAuthBackend class which declares since 7 years a private and static config attribute and now conflicts with osTicket source code. https://github.com/kevinoconnor7/osTicket-auth-cas/blob/8da2efe51b830b5659f1dee0a5036bfc4570b787/auth-cas/cas.php#L182

I'm trying to work on a fix.

larueli commented 1 year ago

Found a fix, preparing a PR for it.

tauthement commented 1 year ago

Thanks for looking into that. I went ahead and switched to the OAuth plugin for authentication since my IDP (WSO2) supports it. It works well, but lacks as much attribute mapping that I can do with this plugin. Hopefully this plugin gets an update for those that still use it.