好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpoauth教程 phpstuty

很多站长朋友们都不太清楚phpoauth教程,今天小编就来给大家整理phpoauth教程,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 怎么把qq扫码授权登录html网站 php 2、 Notice: Undefined index: name in E:xampphtdocssinaweibolist.php on line 14 3、 如何基于PHP和mysql设计一个完整oautstrong认证单点登陆 4、 php thinkphp3.2怎么做会员登录 怎么把qq扫码授权登录html网站 php

实现思路

对QQ登录的官方SDK进行了一些修改,使其更加容易的整合到自己的网站上去。

使用说明:

1、到

申请QQ登录的appid、appkey。

2、将QQ登录接口解压,然后把整个qq目录上传到你的网站上去。

3、运行http://你的域名/qq/install.PHP,对QQ登录进行配置。

4、对数据库的用户表增加两个字段,access_token(varchar(50))、openid(varchar(50))。

5、打开qq/config.php,将里面的数据库连接、用户表信息修改为你网站上对应的信息,然后上传覆盖。

6、打开qq/oauth.php,将第12行、25行修改为你网站登录成功后是如何用session保存用户id的。

7、打开qq/bind.php,将第12行、46行修改为你网站登录成功后是如何用session保存用户id的。

8、将<a

href="">

转载请注明来源:快速将QQ登录接口整合到你的网站上去

Notice: Undefined index: name in E:xampphtdocssinaweibolist.php on line 14

这些都是notice··不是致命错误··你也可以关了它··不过最好修复一下

<strong><?=$me['name']?>

你好~

要换头像么?</strong>

这个是不规范的写法·

<strong><?php

if(isset($me['name']))

{

echo

$me['name'];}?>

你好~

要换头像么?</strong>

<?php

echo

$item['text'];?>

如何基于PHP和mysql设计一个完整oautstrong认证单点登陆

然后你需要安装Composer,确保composer在你的环境变量下,在命令行里面输入composer about验证一下安装完成后cd到lumen-api-starter文件夹下,复制.env.example重命名为.env进行设置,APP_KEY必须是32位的

php thinkphp3.2怎么做会员登录

现在很多网站都有 QQ互联 和新浪微博 一键登录功能,国内很多php开源项目的代码都是使用thinkphp框架编写的,但是thinkphp框架如何添加QQ互联 和新浪微博 一键登录功能呢?

工具/原料

Thinkphp3.2版本源码

QQ互联 和新浪微博 申请到的 APPID和APPKEY。

方法/步骤

一:到腾讯QQ互联上申请APPID和APPKEY。申请地址: 如同,这里我们可以获取到需要跳转到的APPID和APPKEY。新浪微博的申请同理

二:在Thinkphp官网下载 Thinkphp3.2版本的框架源码

本地安装好Thinkphp后,找到应用下的,Common/conf/config.php文件里加上。QQ互联对应的APPID和APPKEY等QQ_AUTH配置信息:

'QQ_AUTH' => array(

'APP_ID' => '1XDXXXXX', //你的QQ互联APPID

'APP_KEY' => '2XXXXXXXXXXXXXXXXXXXXX',

'SCOPE' => 'get_user_info,get_repost_list,add_idol,add_t,del_t,add_pic_t,del_idol',

'CALLBACK' => '',

),

//新浪微博的配置同理一样。

在Common目录下建立一个文件夹api。创建文件QQConnect.class.php ,添加如下代码,这里是 我们写好的一个类:

<?php

namespace Common\Api;

class QQConnect{

/**

* 获取QQconnect Login 跳转到的地址值

* @return array 返回包含code state

*

**/

public function login($app_id, $callback, $scope){

$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection

$login_url = ";client_id="

.$app_id. "redirect_uri=" . urlencode($callback)

. "state=" . $_SESSION['state']

. "scope=".urlencode($scope);

//显示出登录地址

header('Location:'.$login_url);

}

/**

* 获取access_token值

* @return array 返回包含access_token,过期时间的数组

* */

private function get_token($app_id,$app_key,$code,$callback,$state){

if($state !== $_SESSION['state']){

return false;

exit();

}

$url = "";

$param = array(

"grant_type" => "authorization_code",

"client_id" => $app_id,

"client_secret" => $app_key,

"code" => $code,

"state" => $state,

"redirect_uri" => $callback

);

$response = $this->get_url($url, $param);

if($response == false) {

return false;

}

$params = array();

parse_str($response, $params);

return $params["access_token"];

}

/**

* 获取client_id 和 openid

* @param $access_token access_token验证码

* @return array 返回包含 openid的数组

* */

private function get_openid($access_token) {

$url = "";

$param = array(

"access_token" => $access_token

);

$response = $this->get_url($url, $param);

if($response == false) {

return false;

}

if (strpos($response, "callback") !== false) {

$lpos = strpos($response, "(");

$rpos = strrpos($response, ")");

$response = substr($response, $lpos + 1, $rpos - $lpos -1);

}

$user = json_decode($response);

if (isset($user->error) || $user->openid == "") {

return false;

}

return $user->openid;

}

/**

* 获取用户信息

* @param $client_id

* @param $access_token

* @param $openid

* @return array 用户的信息数组

* */

public function get_user_info($app_id,$token,$openid){

$url = ''.$app_id.'access_token='.$token.'openid='.$openid.'format=json';

$str = $this->get_url($url);

if($str == false) {

return false;

}

$arr = json_decode($str,true);

return $arr;

}

/**

* 请求URL地址,返回callback得到返回字符串

* @param $url qq提供的api接口地址

* */

public function callback($app_id, $app_key, $callback) {

$code = $_GET['code'];

$state = $_GET['state'];

$token = $this->get_token($app_id,$app_key,$code,$callback,$state);

$openid = $this->get_openid($token);

if(!$token || !$openid) {

return false;

exit();

}

return array('openid' => $openid, 'token' => $token);

}

/*

* HTTP GET Request

*/

private function get_url($url, $param = null) {

if($param != null) {

$query = http_build_query($param);

$url = $url . '?' . $query;

}

$ch = curl_init();

if(stripos($url, "https://") !== false){

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

$content = curl_exec($ch);

$status = curl_getinfo($ch);

curl_close($ch);

if(intval($status["http_code"]) == 200) {

return $content;

}else{

echo $status["http_code"];

return false;

}

}

/*

* HTTP POST Request

*/

private function post_url($url, $params) {

$ch = curl_init();

if(stripos($url, "https://") !== false) {

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

$content = curl_exec($ch);

$status = curl_getinfo($ch);

curl_close($ch);

if(intval($status["http_code"]) == 200) {

return $content;

} else {

return false;

}

}

}

在项目下创建一个User模板,然后再创建一个OauthConnect.class.php文件,用户调用 QQConnect.class.php。

OauthConnect.class.php里面加入如下,

<?php

namespace User\Controller;

use Think\Controller;

class OauthController extends Controller {

/*

* Type类型,初始化

* QQConnet WeiboConnect

*/

public function index(){

switch ($_GET['type']) {

/* QQ互联登录 */

case qq:

$app_id = C('QQ_AUTH.APP_ID');

$scope = C('QQ_AUTH.SCOPE');

$callback = C('QQ_AUTH.CALLBACK');

$sns = new \Common\Api\QQConnect;

关于phpoauth教程的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpoauth教程 phpstuty的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did197923
更新时间:2023-04-26   阅读:24次

上一篇: html输出PHP代码 html 输出

下一篇:php编写采集接口教程 php数据采集

最新资料更新

  • 1.免费版仓库管理系统php 仓库管理系统php源码
  • 2.php爬淘宝图片 php爬取图片
  • 3.php版本怎么更新 php版本升级
  • 4.php手机qr php手机编程软件
  • 5.erpphp源码下载 thinkphp erp源码
  • 6.输出jsonphp代码 js 输出json
  • 7.php接收url php接收json数据
  • 8.长沙php就业怎样 2021年php就业班
  • 9.订餐系统php 订餐系统升级维护,请前往
  • 10.php大牛交流教程 php大神
  • 11.php批量取中间 php批量删除数据
  • 12.php学费多少兄弟连 php教程兄弟连
  • 13.php语言怎么玩 php语言入门
  • 14.php语法基础csdn php语言基础
  • 15.csrfphp防的简单介绍
  • 16.form居中显示php form居中显示
  • 17.php多条件动态筛选 php实现数据筛选
  • 18.PHP添加日期代码 php年月日时间代码
  • 19.20个php函数 php的system函数
  • 20.php视频太大怎么传输 php上传视频压缩

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]