• 【PHP】ThinkPHP5框架集成微博登录入库流程示意


    • PHP/ThinkPHP5 框架集成微博登录入库流程示意

       第三方登陆这个东东,目前主要是 微信、微博、qq、淘宝、支付宝 等几个。他们都是基于oath2 协议的。原理差不多。这里记录的是我测试的新郎微博登陆。请需要的同学参考下。

    1. 登录open.weibo.com进行开发者认证及网站审核,完成如图

    下载地址这种没有技术含量的东西就不说了,把下载好的文件包放到任意目录,建议根目录,在这我专门建立了Oauth文件夹,因为还需要qq登陆,微信。

    所有文件如下:

    saetv2.ex.class.php 这个文件留下就行了,其它删除。

    紧接着走配置文件 配置 App key. App Secrets, callback uri 

    新建api模块,Oauth 控制器

     

    类代码

    <?php
    namespace appapicontroller;
    
    use thinkController;
    use thinkRequest;
    
    class OauthController extends Controller
    {
        private $o = null;
    
        public function __construct(Request $request = null)
        {
            parent::__construct($request);
            include_once( ROOT_PATH.'Oauth/weibo_login/saetv2.ex.class.php' );
            $this->o = new SaeTOAuthV2( config('WB_AKEY') , config('WB_SKEY') );
        }
    
        public function weibo()
        {
            $code_url = $this->o->getAuthorizeURL( config('WB_CALLBACK_URL') );
    
            header('location:'.$code_url);
        }
    
        public function weibocallback()
        {
    
            if (isset($_REQUEST['code'])) {
                $keys = array();
                $keys['code'] = $_REQUEST['code'];
                $keys['redirect_uri'] = config('WB_CALLBACK_URL');
                try {
                    $token = $this->o->getAccessToken('code', $keys);
                } catch (OAuthException $e) {
    
                }
            }if ($token) {
                $_SESSION['token'] = $token;
                setcookie('weibojs_' . $this->o->client_id, http_build_query($token));
                header('Location: /forum');
            }
        }
    }

    讲解下类吧,类构造函数加载了配置,实例化了我们需要用到的类,

    weibo方法,这个就是点击按钮跳转的地址,URL(‘api/Oauth/weibo’)就会定位到此方法,此方法会访问新浪的借口验证,如果成功会走weibocallback方法, token就是我们需要的数据了,可以入库操作。等,然后调回回调地址

    然后你还可以添加其它的方法 如qq,进行qq登陆 ,

    今天就到这里,完了在补充

  • 相关阅读:
    查看执行SQL效果,消耗资源的SQL查看命令
    网页上搜索apk链接工具
    PL/SQL 获取一个月的天数排除周六周日
    java 数字转换
    jQuery选择器
    Oracle 10g 透明网关 sql server2005 配置
    怎么进行软件测试才能把bug降到最低呢??
    Demon推荐的Blog和网站
    基于.NET的俄罗斯方块课程设计
    【读书笔记】《锋利jQuery》第一章
  • 原文地址:https://www.cnblogs.com/bc8web/p/7571103.html
Copyright © 2020-2023  润新知