Example #1
0
 public function __invoke($app)
 {
     $auth = new AuthManager();
     $auth->setApp($app);
     // register authentication strategies
     $strategies = $app['config']->get('auth.strategies', []);
     foreach ($strategies as $id => $class) {
         $auth->registerStrategy($id, $class);
     }
     if ($class = $app['config']->get('auth.2fa_strategy')) {
         $strategy = new $class($auth);
         $auth->setTwoFactorStrategy($strategy);
     }
     // specify storage type
     if ($class = $app['config']->get('auth.storage')) {
         $storage = new $class($auth);
         $auth->setStorage($storage);
     }
     return $auth;
 }