laravel 4 hybridauth在多条路线上

时间:2013-08-12 21:30:54

标签: laravel laravel-4 laravel-routing hybridauth

我目前正在尝试从CodeIgniter切换到Laravel。

我已经成功实施了hybridouth方法,但它似乎只适用于指定的路线。

我尝试过搜索教程和示例,但即使他们只显示auth正在使用1条路线。

如何在每条路线上提供一些功能来检查用户是否已登录?

需要auth的组。

Route::group(array('before' => 'auth'), function()
{
    // ALL ROUTES WITH AUTH NEEDED
});

这似乎称为普通的auth,我正在使用hybridauth

Route::get('social/{action?}', array("as" => "hybridauth", function($action = "")
{
if ($action == "auth") {
    try {
        Hybrid_Endpoint::process();
    }
    catch (Exception $e) {
        return Redirect::route('hybridauth');
    }
    return;
}
try {
    $socialAuth = new Hybrid_Auth(app_path() . '/config/hybridauth.php');
    $provider = $socialAuth->authenticate("facebook");
    $userProfile = $provider->getUserProfile();
}
catch(Exception $e) {
    return $e->getMessage();
}

echo "<pre>" . print_r( $userProfile, true ) . "</pre><br />";
}));

1 个答案:

答案 0 :(得分:0)

如果您要在每条路线上运行请求,请使用过滤器

App::before(function($request)
{
//check if user logged in here
});

或创建过滤器并将路线分组

Route::group(array('before' => 'auth'), function()
{

});