2014-03-30 69 views

回答

1

我查看了一段时间的文档,找不到官方的方法来实际完成此操作。但是,通过查看代码,我发现用户实际上是通过调用set_login_sessions函数来登录的。但是,该功能对Flexi_auth_model类是私有的。

public function login_3rd($identity = FALSE) { 
    // Check logins, activation, suspensions etc like `Flexi_auth_model::login` 

    // Confirm the login with the OAuth service 

    // Query the DB to get the user 

    set_login_sessions($user, FALSE); 
} 

这其中大部分:

如果你绝对相信你不会介绍你是不是已经采取的一些其他的方式处理任何漏洞,可以沿着线定义自己的方法几乎与login函数一样,但是针对第三方认证进行了调整。

调用set_login_sessions时,将$logged_in_via_password参数设置为FALSE非常重要。 Web应用程序中有一些敏感区域(如提款或其他),应该要求用户在通过之前输入密码。这可以防止重新打开浏览器的朋友(或通过恶意手段获取会话的人)访问某些内容。 Flexi-auth提供了一个is_logged_in_via_password,允许您检查这一点。但如果我们不说实话,它就行不通。

+0

Ook ..我会看到它..很快 –

相关问题