Skip to content
This repository has been archived by the owner. It is now read-only.
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

README.md

Usage

Simple, event driven silex extension

    // Configure opauth
    $app['opauth'] = array(
      'login' => '/auth',
      'callback' => '/auth/callback',
      'config' => array(
        'security_salt' => '...your salt...',
        'Strategy' => array(
            'Facebook' => array(
               'app_id' => '...',
               'app_secret' => '...'
             ),
        )
      )
    );

    // Enable extension
    $app->register(new OpauthExtension());

    // Listen for events
    $app->on(OpauthExtension::EVENT_ERROR, function($e) {
        $this->log->error('Auth error: ' . $e['message'], ['response' => $e->getSubject()]);
        $e->setArgument('result', $this->redirect('/'));
    });

    $app->on(OpauthExtension::EVENT_SUCCESS, function($e) {
        $response = $e->getSubject();

        /*
           find/create a user, oauth response is in $response and it's already validated!
           store the user in the session
        */

        $e->setArgument('result', $this->redirect('/'));
    });

Advanced, symfony security listener+provider

Note, that you can use it in symfony2 projects too!

To login using opauth use /login/PROVIDER, or use opauth_default_login route with provider parameter.

    $app->register(new OpauthSilexProvider());
    $app->register(new SecurityServiceProvider(), array(
        'security.firewalls' => array(
            'default' => array(
                'pattern' => '^/.*',
                'opauth' => array(
                    // 'check_path' => '/login/opauth', //default
                    'opauth' => [
                        // 'path' => '/login', //default
                        'security_salt' => '...your salt...',
                        'Strategy' => [
                            // your opauth strategies go here
                        ]
                    ]
                ),
                'anonymous' => true,
            ),
        )
    );

By default, users will be looked up by username "provider:uid".

You should extend your user provider to handle OPauth results correctly by implementing OpauthUserProviderInterface.

About

Opauth silex framework service provider.

Resources

License

Releases

No releases published

Languages

You can’t perform that action at this time.