- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为PHPBB加一个oauth认证方式统一登陆SSO
tag:phpbb,sso,统一登陆,oauth2,oauth
以下文章只是讲述我做这个东西的一个原理,主要实现是采用主站的认证来实现本站点的登陆,论坛采用隐式的密码认证方式;如果想要了解更多,可以联系我caijiche@;这是用于oauth的原理。发出来和大家一起分享!
操作步骤
一、将auth_oauth2.php加入论坛的includes/auth/这个目录当中,这是一个OAUTH的插件,使其支持这种认证方式
二、将caijicheOauthClient.php这个文件加入PHPBB的根目录中,这个文件是CAIJICHE的oauth客户端文件;
三、将论坛的数据库bbs_config表中的auth_method的值改成“oauth2”,说明使用oauth2认证;
四、为了使后台管理员也可以使用这种认证方式,把functions.php中的以下这段注释掉
if ($admin utf8_clean_string($username) != utf8_clean_string($user-data[username]))
{
// We log the attempt to use a different username...
add_log(admin, LOG_ADMIN_AUTH_FAIL);
trigger_error(NO_AUTH_ADMIN_USER_DIFFER);
}
否则会报不匹配的错误;
五、更改注册链接:
将functions.php中的函数page_header中的数组中“U_REGISTER”的值改成“/reg”
六、更改忘记密码链接:将functions.php中的函数page_header中的数组中“? U_SEND_PASSWORD?”的值改成“/getpwd”
phpbb报一些警告错误的解决办法:
将对应的函数改成静态函数
七、语言文件:登录 改成 使用采集车帐号登陆 用户名(USERNAME)改成 用户名[email]
以下是auth_oauth2.php的内容
这个文件主要还是参考auth_db.php简单改动了一下
?php
/**
* Database auth plug-in for phpBB3
*
* Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him.
*
* This is for authentication via the integrated user table
*
* @package login
* @version $Id: auth_db.php 10431 2010-01-20 00:20:46Z bantu $
* @copyright (c) 2005 phpBB Group
* @license /licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined(IN_PHPBB))
{
exit;
}
/**
* Login function
*/
function login_oauth2($username, $password)
{
global $db, $config,$phpbb_root_path;
? ? include ($phpbb_root_path . caijicheOauthClient.php);//将客户端的类含进来
? ?require_once($phpbb_root_path.common.php);
? ?require_once($phpbb_root_path.includes/functions_user.php);
? // require_once($phpbb_root_path.includes/functions_module.php);
// 密码为空
if (!$password)
{
return array(
status = LOGIN_ERROR_PASSWORD,
error_msg = NO_PASSWORD_SUPPLIED,
user_row = array(user_id = ANONYMOUS),
);
}
//用户名为空
if (!$username)
{
return array(
status = LOGIN_ERROR_USERNAME,
error_msg = LOGIN_ERROR_USERNAME,
us
您可能关注的文档
最近下载
- 高档牛肉生产技术精品.ppt VIP
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 执法办案管理中心信息化建设方案(纯方案,117页) .pdf VIP
- 2024江苏省农村信用社联合社招聘科技类(本)10人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 标准图集-15J403-1 楼梯 栏杆 栏板(一).pdf VIP
- 戚墅堰区幼儿园膳食营养调查分析.doc VIP
- 骨科三基三严考试题.docx VIP
- SY∕T 6662.8-2016 石油天然气工业用非金属复合管 第8部分:陶瓷内衬管及管件.pdf
- 桥面挡砟墙施工方案.pdf VIP
- 复方鼻炎膏说明书.docx VIP
文档评论(0)