我正在使用Anvard,这是一个实现Hybridauth的Laravel软件包。我一直在阅读的所有问题都在询问是否自动记录 ,我需要相反的事情!
情景:
/anvard/logout
路线/login
并带有“已注销”的Flash消息UserB如何使用LinkedIn登录(使用相同的浏览器)?
UserA可以转到设置中的链接并取消授权应用,但这显然是不切实际的:)
我已尝试使用'anvard / logout'路线,并尝试将以下内容添加到我的/退出路线:
Route::get('/logout', function() {
// this is drawn from anvard's logout function
$hybridAuth = App::make('hybridauth');
$hybridAuth->logoutAllProviders();
// this not working either :(
// if(Auth::check()) {
// Auth::user()->remember_token = NULL;
// }
Auth::logout();
Session::flush();
return Redirect::route('login')->with('success', 'You\'ve been Logged Out');
});
正如你所看到的......我只是尝试了一切:)
这是我在hybridauth找到的一个问题:Logout doesn't really logout #220
更新:
我错过了一个基本原则吗?是否只是一次只允许给定浏览器中的任何给定提供者授权一个用户,并允许其他用户登录,UserA必须访问他的提供者(LinkedIn)并注销? < / p>
stackapps处有一个有用的答案和有用的评论:
好的,如果使用了无效的访问令牌,API将返回一个 错误,然后由应用程序通过身份验证运行用户 进程再次。如果用户已经登录,应用程序会这样做 该应用仍然是授权的,auth流将无形地使用 cookie /本地存储/等,或以其他方式呈现OAuth对话框, 正确?
提前致谢!
答案 0 :(得分:0)
我认为这就像Facebook登录一样。如果我目前在我的电脑上通过Facebook登录然后通过您的应用程序登录,您的应用程序将建立我的Facebook帐户和您网站帐户之间的连接。
如果我退出,只会破坏您网站上的会话,并且我会从您的网站退出。这对我在facebook上的登录状态没有影响。如果我现在访问Facebook网站,我仍然会通过我的Facebook帐户登录。因此,如果我再次访问您的网站并通过Facebook登录,我将使用我的相关帐户登录。
因此,如果另一个人想登录,我首先要去facebook并注销。另一个人必须登录FB,然后可以使用他的Facebook凭据登录您的网站。
这是你的意思吗?