subfission / cas

Simple CAS Authentication for Laravel 5 - 10.
MIT License
151 stars 70 forks source link

phpCAS::setDebug() is deprecated #93

Closed coolsam726 closed 3 years ago

coolsam726 commented 3 years ago

In the latest installation which uses apereo/phpCAS 1.3.9, I got this error:

ErrorException phpCAS::setDebug() is deprecated in favor of phpCAS::setLogger().

Did apereo deprecate setDebug in a patch release ???

desyashasyi commented 3 years ago

I have same issue. How to resolve it?

coolsam726 commented 3 years ago

I have same issue. How to resolve it?

@desyashasyi The untimate solution will be updating this package to factor in the deprecation. However for now the temporal fix is to manually force subfission/cas to use apereo/phpcas:1.3.8. You can do this downgrade by installing apereo/phpcas manually as follows:

composer require apereo/phpcas:1.3.8

I hope that helps.

desyashasyi commented 3 years ago

I have same issue. How to resolve it?

@desyashasyi The untimate solution will be updating this package to factor in the deprecation. However for now the temporal fix is to manually force subfission/cas to use apereo/phpcas:1.3.8. You can do this downgrade by installing apereo/phpcas manually as follows:

composer require apereo/phpcas:1.3.8

I hope that helps.

Thank you very much

darece commented 3 years ago

Me the same problem, attaching the bug message: imagen

darece commented 3 years ago

I can't change my working plugin to

I have same issue. How to resolve it?

@desyashasyi The untimate solution will be updating this package to factor in the deprecation. However for now the temporal fix is to manually force subfission/cas to use apereo/phpcas:1.3.8. You can do this downgrade by installing apereo/phpcas manually as follows:

composer require apereo/phpcas:1.3.8

I hope that helps.

I can't change my working repository to apereo, due my company uses subfission, is there any way to force subfission to solve this critical bus ASAP? It's urgent for me!

coolsam726 commented 3 years ago

I can't change my working plugin to

I have same issue. How to resolve it?

@desyashasyi The untimate solution will be updating this package to factor in the deprecation. However for now the temporal fix is to manually force subfission/cas to use apereo/phpcas:1.3.8. You can do this downgrade by installing apereo/phpcas manually as follows:

composer require apereo/phpcas:1.3.8

I hope that helps.

I can't change my working repository to apereo, due my company uses subfission, is there any way to force subfission to solve this critical bus ASAP? It's urgent for me!

You don't have to change to apereo. You should know subfission/cas is just a laravel wrapper that uses apereo/phpcas under the hood. So when you install it, apereo/phpcas is also installed automatically. All we are doing is just fixing the version of apereo/phpcas to 1.3.8. So that solution will simply fix your issues. You don't need to do anything else

subfission commented 3 years ago

Please test the latest patch in master. This should address this and be backwards compatible.

regnilk commented 3 years ago

It doesn't work for me. It seems to be that there's a missing closing brace before the "catch". Also, there is no variable name in "catch (ErrorException)". Finally, if cas_debug is not set to true, it still uses setDebug without testing.

Thank you for your help

tauthement commented 3 years ago

I had to change "ErrorException" to "\Exception $e" to get it to work. I also had to set CAS_DEBUG in my .env to true. Setting CAS_DEBUG to false will still call setDebug().

dstepe commented 3 years ago

PR #94 sets the apereo/phpcas constraint to <=1.3.8 in this package. That should address the issue without requiring each user to apply that constraint. I removed the try/catch for the error at the same time. I consider the appropriate solution.

By the way, the introduction of a breaking change being introduced in a patch release has been reported to the apereo/phpcas authors (https://github.com/apereo/phpCAS/issues/371).

I plan to follow up with a PR to use the newer release in this package going forward.

mrwhen commented 3 years ago

https://github.com/apereo/phpCAS 官方php cas实现,1.3.8版本之后,setDebug方法被废弃,所有依赖他的这个方法的扩展都不可用了 https://github.com/subfission/cas laravel扩展包,支持在laravel中实现cas,V4.0.0版本依赖的phpCAS包,使用了setDebug方法,导致此包不可用

解决办法: 1、先安装phpCAS的1.3.8版本包 composer require "apereo/phpcas:1.3.8"

2、再安装subfission/cas composer require "subfission/cas:4.0.0"

这样就可以让subfission/cas使用phpCAS的1.3.8版本,规避了setDebug 出错的问题

subfission commented 3 years ago

Please test the latest in master. This should solve this and provide a failsafe for backwards compatibility. Addresses points from @tauthement

tauthement commented 3 years ago

I just tried the latest master and I'm getting the following error (on line 80, CasManager.php):

ErrorException Undefined variable: config

Changing $config to $this->config fixes it.

coolsam726 commented 3 years ago

@subfission The current changes in the master branch seem to work seamlessly with phpCAS:1.3.9. Would you kindly tag a minor release so that we can upgrade. (I don't want to use master in my production apps)

Thanks.

coolsam726 commented 3 years ago

Please test the latest in master. This should solve this and provide a failsafe for backwards compatibility. Addresses points from @tauthement

Please release this.

tauthement commented 3 years ago

Yes, it would nice if it can be released soon. I've been using the latest commit in master and haven't had a problem so far.

coolsam726 commented 3 years ago

@subfission We are still waiting for any updates.

coolsam726 commented 3 years ago

I see v4.1.0 is out, thank you @subfission

subfission commented 3 years ago

Fixed by 0b4912a and v4.1.0!