zend-mvc-plugin-identity

Plugin for retrieving the current authenticated identity within zend-mvc controllers.

$ composer require zendframework/zend-mvc-plugin-identity

Installation

Install via composer:


$ composer require zendframework/zend-mvc-plugin-identity
          

If you are using the zend-component-installer, you're done!

If not, you will need to add the component as a module to your application. Add the entry 'Zend\Mvc\Plugin\Identity' to your list of modules in your application configuration (typically one of config/application.config.php or config/modules.config.php).

Usage

The Identity plugin allows retrieving the identity from the AuthenticationService.

For the Identity plugin to work, a Zend\Authentication\AuthenticationService name or alias must be defined and recognized by the ServiceManager.

Identity returns the identity in the AuthenticationService or null if no identity is available.

As an example:


public function testAction()
{
    if ($user = $this->identity()) {
         // someone is logged !
    } else {
         // not logged in
    }
}
      

When invoked, the Identity plugin will look for a service by the name or alias Zend\Authentication\AuthenticationService in the ServiceManager. You can provide this service to the ServiceManager in a configuration file:


// In a configuration file...
use Zend\Authentication\AuthenticationService;

return [
    'service_manager' => [
        'aliases' => [
            AuthenticationService::class => 'my_auth_service',
        ],
        'invokables' => [
            'my_auth_service' => AuthenticationService::class,
        ],
    ],
];
      

The Identity plugin exposes two methods:

  • setAuthenticationService(AuthenticationService $authenticationService) : void: Sets the authentication service instance to be used by the plugin.
  • getAuthenticationService() : AuthenticationService: Retrieves the current authentication service instance if any is attached.