首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flexi支持第三方登录吗?如果是,怎么办?

Flexi支持第三方登录吗?如果是,怎么办?
EN

Stack Overflow用户
提问于 2014-03-30 09:17:22
回答 1查看 89关注 0票数 1

我使用Flexi-auth库进行用户身份验证,通用登录程序正常工作。Flexi支持第三方(谷歌/雅虎)登录吗?如果是,怎么办?

EN

回答 1

Stack Overflow用户

发布于 2015-03-08 23:55:43

我已经浏览了一段时间的文档,但没有找到一种真正实现这一目标的正式方法。但是,通过查看代码,我发现用户实际上是通过调用一个名为set_login_sessions的函数登录的。然而,该函数对Flexi_auth_model类是私有的。

如果您完全确定您不会引入任何您尚未通过其他方式处理的漏洞,则可以按照以下方式定义您自己的方法:

代码语言:javascript
复制
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函数非常相似,但都经过了第三方身份验证的调整。

在调用$logged_in_via_password时,重要的是将set_login_sessions参数设置为FALSE。web应用程序中有一些敏感区域(比如取款或其他东西)应该要求用户在通过密码之前输入密码。这会使重新打开浏览器的朋友(或通过恶意方式获取会话的人)无法访问某些东西。Flexi提供了一个is_logged_in_via_password,允许您检查这一点。但如果我们不说实话就没用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22742276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档