laravel 对接 UCenter 基础
说明:1,运行环境 laravel 5.3 php7+nginx+mysql
2,使用安装包 https://github.com/goodspb/laravel5-ucenter 上面有对接方法
对接过程遇见的问题:1,问题:在laravel配置了UCenter的config之后,在UCenter的用户中心还是通信失败。解决:laravel的路由配置不正确
2,问题:laravel无法对接UCenter的数据库。解决:在PHP7中已经废弃的函数mysql_connect(),GitHub的作者依然在使用,然后手动改成了mysqli_connect(),所有牵扯到的函数增加一个 " i "即可。在文件src/uc_client/lib/db.class.php
3,问题:php7无法调用自己的函数。解决:在UCenterApi中第70行左右 改成 $actions = $get['action']; return self::$actions($get, $post);
UCenter在laravel的用法:1,引用:use Goodspb\Laravel5Ucenter\Ucenter;2,$ucresult = Ucenter::execute('uc_user_checkname',[$username]);
UCenter接口(以下都是用户接口)
1,uc_user_register() integer uc_user_register(string username , string password , string email [, integer questionid , string answer , string regip])
描述:本接口函数用于新用户注册。用户名、密码、Email为一个用户在UCenter的基本数据,提交后UCenter会按照注册设置和词语过滤的规则检测用户名和Email的格式时候正确合法,如果正确返回注册后的用户ID,否则返回相应的错误信息
参数
| 参数名 | 类型 | 是否必需 | 说明 |
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
| string | 是 | 电子邮箱 | |
| questionid | integer | 否 | 安全提问索引 |
| answer | string | 否 | 安全提问答案 |
| regip | string | 否 | 注册ip |
返回值
| 返回值类型 | 说明 |
| integer |
大于0:返回用户ID,表示用户注册成功 -1:用户名不合法 -2:包含不允许注册的词语 -3:用户名已经存在 -4:Email格式有误 -5:Email不允许注册 -6:该Email已经被注册 |
2,uc_user_login() array uc_user_login(string username , string password [, bool isuid , bool checkques , integer questionid , string answer])
描述:本接口函数用户用户登录验证,用户名及密码正确无误则返回用户在UCenter的基本数据,否则返回相应的错误信息。如果应用程序是升级过来的,并且当前登录用户和已有的用户重名,那么返回数组中[4]的值将返回1.
参数
| 参数名 | 类型 | 是否必需 | 说明 | 备注 |
| username | string | 是 | 用户名/用户ID/用户 Email | |
| password | string | 是 | 密码 | |
| isuid | bool | 否 | 是否使用用户ID登录 |
1:使用用户ID登录 2:使用用户Email登录 0:(默认值)使用用户名登录 |
| checkques | bool | 否 | 是否验证安全提问 |
1:验证安全提问 0:(默认值)不验证安全提问 |
| questionid | intger | 否 | 安全提问索引 | |
| answer | string | 否 | 安全提问索引 |
返回值:返回值类型:array 。说明:成功返回用户信息,失败返回错误代码 。数组结构看下方说明
| key | 类型 | value |
| 0 | integer |
大于0:返回用户ID,表示用户登录成功 -1:用户不存在或者被删除 -2:密码错误 -3:安全问题错误 |
| 1 | string | 用户名 |
| 2 | string | 密码 |
| 3 | string | |
| 4 | bool | 用户名是否重名 |
3,uc_get_user array uc_get_user(string username[,bool isuid])
描述:本接口函数用于获取用户在UCenter的基本数据,如果用户不存在,返回值为integer的数值0。
参数:
| 参数名 | 类型 | 是否必需 | 说明 | 备注 |
| username | string | 是 | 用户名 | |
| isuid | bool | 否 | 是否使用用户名ID获取 |
1:使用用户ID获取 0:(默认值)使用用户名获取 |
返回值:返回值类型:array 。说明:成功返回用户信息,失败返回错误代码 。数组结构看下方说明
| key | 类型 | value |
| 0 | integer | 用户ID |
| 1 | string | 用户名 |
| 2 | string |
4,uc_user_edit integer uc_user_enit(string username,string oldpwd,string newpw,string Email[,bool ignoreoldpw,integer questionid,string answer])
描述:本接口函数用户更新用户资料。更新资料需要验证用户的原密码是否正确,除非指定ignoreoldpw为1.如果只修改Email不修改密码,可让newpw为空;同理如果只修改密码不修改Email,可让Email为空。
参数:
| 参数名 | 类型 | 是否必需 | 说明 | 备注 |
| username | string | 是 | 用户名 | |
| oldpw | string | 是 | 旧密码 | |
| newpw | string | 是 | 新密码,如不修改为空 | |
| string | 是 | Email,如不修改为空 | ||
| ignoreoldpw | bool | 否 | 是否忽略旧密码 |
1:忽略,更改资料不需要验证密码 0:(默认值)不忽略,更改资料需要验证密码 |
| questionid | integer | 否 | 安全提问索引 | |
| answer | string | 否 | 安全提问答案 |
返回值:
| 返回值类型 | 说明 |
| integer |
1:更新成功 0:没有做任何修改 -1:旧密码不正确 -4:Email格式有误 -5:Email不允许注册 -6:该Email已经被注册 -7:没有做任何修改 -8:该用户受保护无权限更改 |
参考文件链接:http://codex.wordpress.org.cn/UCenter接口
剩余问题:在网站和论坛对接的同步登陆的时候,论坛同步登陆了,网站不能没有登录信息,在设置cookie域和cookie路径的时候。不知道怎么设置。
laravel 对接 UCenter 基础的更多相关文章
- laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)
laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...
- Scrapy对接Splash基础知识学习
一:什么是Splash Splash是一个 JavaScript渲染服务,是一个带有 HTTPAPI 的轻量级浏览器 1 功能介绍 利用 Splash,我们可以实现如下功能: 口异步方式处理多个网页渲 ...
- laravel 对接支付宝
使用的库 omnipay-alipay 申请支付宝支付 这个就不说了, 不明白如何下手的伙伴让运营去和支付宝客服联系吧 composer 安装git库 将以下代码添加到 composer.json { ...
- 【转】基于laravel制作APP接口(API)
这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...
- Windows2012中安装PHP-5.6.20+Apache httpd2.4.18+Composer+Laravel+MySQL5.7
下载软件包 PHP: http://windows.php.net/downloads/releases/php-5.6.20-Win32-VC11-x64.zip Apache httpd: h ...
- laravel项目使用appnode部署linux系统到阿里云服务器流程记录(待补充)
使用 SSH 连接工具,如 PuTTY.XShell.SecureCRT 等,连接 Linux 服务器后(阿里云服务器命令行内直接输入appnode安装命令,版本:mysql选5.7.php选7.2) ...
- 6个项目带你全面掌握Laravel框架
Laravel框架简介: Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来,帮你构建一个完美的网络APP,而且每行 ...
- laravel 资源篇
转自:https://github.com/qianyugang/learn-laravel # Learn-Laravel — 学习资料和开源项目集 ## Laravel 学习资料 ### 官方网站 ...
- ecshop微信接口基础认识
ecshop微信接口基础认识,当你要学习ecshop和微信整合的时候,你就必须研究ecshop的数据结构对接以及微信数据接口的基本知识.我们知道微信其实就是通过有效的消息推送,用JSON格式的数据或者 ...
随机推荐
- SSM商城项目(十一)
1. 学习计划 1.sso注册功能实现 2.sso登录功能实现 3.通过token获得用户信息 Ajax跨域请求(jsonp) 2. Sso系统工程搭建 需要创建一个sso服务工程,可以参考e ...
- 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型及原型设计
在从 OLTP 业务数据库向 DW 数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库中?在数据 ...
- appium+夜神模拟器+python安卓app爬虫初体验
环境搭建:Windows 7 64bit jdk包:jdk-8u171-windows-x64.exe(http://www.oracle.com/technetwork/java/javase/do ...
- antd-react-mobile(踩坑记录)
1.按照官网步骤进行, $ npm install -g create-react-app # 注意:工具会自动初始化一个脚手架并安装 React 项目的各种必要依赖,如果在过程中出现网络问题,请尝试 ...
- cross compile gdbserver
1. 下载gdb源码,7.12版本,下载地址:ftp://ftp.gnu.org/gnu/gdb.2. 编译gdb:0> cd gdb-7.121> mkdir __install2> ...
- 桥接模式和nat模式的区别
桥接模式:VMware虚拟的系统就想局域网中独立的主机一样(有独立的IP)它可以访问网内任何一台机器 Nat模式:可以通过宿主机访问互联网(宿主机联网,虚拟机就能联网)它不能和本局域网中的其他主机进行 ...
- js动态添加元素绑定事件问题
//开始是直接普通写的绑定click事件 其中li a i 中的i是动态添加的 结果是触发不了..$("li a i").click(function () { $(this).m ...
- Apache和Nginx运行原理解析
Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务. 应用层使用HTTP协议. HTML文档格式. 浏览器统一资源定位器(URL). Web服 ...
- 记一次win10+oracle11.2安装
下载安装文件,地址:链接:https://pan.baidu.com/s/1gObmWv5_w2Y4Jlf2-RkBYA 密码:1rx9 安装手册参考:链接:https://pan.baidu.com ...
- VS code 代码格式整理的配置
{ "workbench.iconTheme": "material-icon-theme", "vetur.validation.template& ...