Skip to content

PhpCas Bundle using guard authentication for symfony 3.4, 4.4 and 5.0


Notifications You must be signed in to change notification settings


Repository files navigation

Php CAS Bundle

PhpCas Bundle provide CAS Authentication using guard for symfony 3.4+ and 4.

This bundle DO NOT provide a CAS server. By using this bundle, your application will be able to use your Cas Server to authenticate your users.
SymfonyInsight Coverage Status Build Status


Step 1: Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

$ composer require "alexandret/phpcas-guard-bundle" "~1"

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the Bundle

Enable the bundle by adding it to the list of registered bundles in the config/bundles.php file of your project:


return [
    AlexandreT\Bundle\CasGuardBundle\CasGuardBundle::class => ['all' => true],

Step 3: Enable the Security

Update your config\packages\security.yaml file:

    # ...
        #Main firewall
            # We use Guard !
                    # ADD the cas authenticator declared in this bundle
                    - phpcasguard.cas_authenticator
            # The logout path
                # This route will be never called because of listener. It will catch it and redirect user.                
                path: /logout
                # ADD the same cas authenticator declared in this bundle to activate logout function
                success_handler: phpcasguard.cas_authenticator  
    # ...

Since Symfony 2.8, Guard is providing a new and excellent way to authenticate. I recommend you to have a look on this excellent tutorial to understand guard features. This tutorial explains how to generate a standard authentication using guard and a login form. When you understand it, you only have to disable the call to the login form authenticator implemented in the chapter 5 and replace it by the phpcasguard.cas_authenticator declared inside this bundle.

Step 4: Configure the Bundle

Create a config\packages\cas_guard.yaml file:

    hostname: '%env(CAS_HOSTNAME)%'
    # ...

Have a look on the complete configuration file to complete and connect it with your CAS server.