亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

Oauth

OAuth在"客戶端"與"服務提供商"之間,設置了一個授權層(authorization layer)。"客戶端"不能直接登錄"服務提供商",只能登錄授權層,以此將用戶與客戶端區分開來。"客戶端"登錄授權層所用的令牌(token),與用戶的密碼不同。用戶可以在登錄的時候,指定授權層令牌的權限范圍和有效期。

需要用戶自行補充oauth的認證流程,方便自己更加快速的接入。

安裝

請在EasySwoole根目錄下執行以下命令

composer require easyswoole/o-auth

詳情

根據Oauth協議,分別有如下調用方法。

  • getAuthUrl() 獲取授權地址
  • getAccessToken($storeState = null, $state = null, $code = null) 獲取AccessToken(只返回access_token)
  • getAccessTokenResult() 執行getAccessToken方法后,此方法獲取原結果
  • getUserInfo(string $accessToken) 獲取用戶信息
  • validateAccessToken(string $accessToken) 驗證token是否有效
  • refreshToken(string $refreshToken = null) 刷新token 返回bool
  • getRefreshTokenResult() 執行refreshToken方法后,此方法獲取原結果

示例代碼

微信

class WeiXin extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\WeiXin\Config();
        $config->setAppId('appid');
        $config->setState('easyswoole');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\WeiXin\OAuth($config);
        $url = $oauth->getAuthUrl();

        return $this->response()->redirect($url);
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();

        $config = new \EasySwoole\OAuth\WeiXin\Config();
        $config->setAppId('appid');
        $config->setSecret('secret');
        $config->setOpenIdMode(\EasySwoole\OAuth\WeiXin\Config::OPEN_ID); // 可設置UNION_ID 默認為OPEN_ID

        $oauth = new \EasySwoole\OAuth\WeiXin\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['code']);
        $refreshToken = $oauth->getAccessTokenResult()['refresh_token'];

        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;

        if (!$oauth->refreshToken($refreshToken)) echo 'access_token 續期失敗!' . PHP_EOL;

    }
}

QQ

class QQ extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\QQ\Config();
        $config->setAppId('appid');
        $config->setState('easyswoole');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\QQ\OAuth($config);
        $url = $oauth->getAuthUrl();

        return $this->response()->redirect($url);
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();

        $config = new \EasySwoole\OAuth\QQ\Config();
        $config->setAppId('appid');
        $config->setAppKey('appkey');
        $config->setRedirectUri('redirect_uri');
        $config->setOpenIdMode(\EasySwoole\OAuth\QQ\Config::OPEN_ID); // 可設置UNION_ID 默認為OPEN_ID

        $oauth = new \EasySwoole\OAuth\QQ\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['code']);
        $refreshToken = $oauth->getAccessTokenResult()['refresh_token'];

        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;

        if (!$oauth->refreshToken($refreshToken)) echo 'access_token 續期失敗!' . PHP_EOL;

    }
}

微博

class Weibo extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\Weibo\Config();
        $config->setClientId('clientid');
        $config->setState('easyswoole');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\Weibo\OAuth($config);
        $url = $oauth->getAuthUrl();

        return $this->response()->redirect($url);
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();

        $config = new \EasySwoole\OAuth\Weibo\Config();
        $config->setClientId('clientid');
        $config->setClientSecret('secret');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\Weibo\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['code']);

        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;
    }
}

支付寶

class AliPay extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\AliPay\Config();
        $config->setState('easyswoole');
        $config->setAppId('appid');
        $config->setRedirectUri('redirect_uri');

        // 使用沙箱環境測試開發的時候 把OAuth的源碼文件里面的 API_DOMAIN 和 AUTH_DOMAIN 進行修改
        $oauth = new \EasySwoole\OAuth\AliPay\OAuth($config);
        $url = $oauth->getAuthUrl();
        return $this->response()->redirect($url);
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();

        $config = new \EasySwoole\OAuth\AliPay\Config();
        $config->setAppId('appid');
//        $config->setAppPrivateKey('私鑰');
        $config->setAppPrivateKeyFile('私鑰文件'); // 私鑰文件(非遠程) 此方法與上個方法二選一

        $oauth = new \EasySwoole\OAuth\AliPay\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['auth_code']);
        $refreshToken = $oauth->getAccessTokenResult()['alipay_system_oauth_token_response']['refresh_token'];

        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;
        var_dump($oauth->getAccessTokenResult());

        if (!$oauth->refreshToken($refreshToken)) echo 'access_token 續期失敗!' . PHP_EOL;
        var_dump($oauth->getRefreshTokenResult());
    }
}

Github

class Github extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\Github\Config();
        $config->setClientId('clientid');
        $config->setRedirectUri('redirect_uri');
        $config->setState('easyswoole');
        $oauth = new \EasySwoole\OAuth\Github\OAuth($config);
        $this->response()->redirect($oauth->getAuthUrl());
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();
        $config = new \EasySwoole\OAuth\Github\Config();
        $config->setClientId('clientid');
        $config->setClientSecret('secret');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\Github\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['code']);
        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;
    }
}

Gitee

class Gitee extends \EasySwoole\Http\AbstractInterface\Controller
{
    public function index()
    {
        $config = new \EasySwoole\OAuth\Gitee\Config();
        $config->setState('easyswoole');
        $config->setClientId('clientid');
        $config->setRedirectUri('redirect_uri');
        $oauth = new \EasySwoole\OAuth\Gitee\OAuth($config);
        $this->response()->redirect($oauth->getAuthUrl());
    }

    public function callback()
    {
        $params = $this->request()->getQueryParams();

        $config = new \EasySwoole\OAuth\Gitee\Config();
        $config->setClientId('client_id');
        $config->setClientSecret('secret');
        $config->setRedirectUri('redirect_uri');

        $oauth = new \EasySwoole\OAuth\Gitee\OAuth($config);
        $accessToken = $oauth->getAccessToken('easyswoole', $params['state'], $params['code']);
        $userInfo = $oauth->getUserInfo($accessToken);
        var_dump($userInfo);

        if (!$oauth->validateAccessToken($accessToken)) echo 'access_token 驗證失敗!' . PHP_EOL;
        var_dump($oauth->getAccessTokenResult());
    }
}
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    亚洲欧洲精品一区| 日韩欧美手机在线| 在线视频精品| 一区二区三区高清视频在线观看| 一区二区三区四区国产| 久久精品免费| 激情一区二区三区| 性欧美大战久久久久久久免费观看| 亚洲精品成人久久久998| 欧美久久电影| 老司机精品福利视频| 日韩一二三区不卡在线视频| 欧美三日本三级少妇三99| 亚洲一区3d动漫同人无遮挡| 狠狠色综合网站久久久久久久| 日韩精品一区二区三区外面| 伊人精品成人久久综合软件| 久久久久久国产精品mv| 久久青青草综合| 黄色av日韩| 久久精品美女| 亚洲每日更新| 婷婷四房综合激情五月| 夜夜爽av福利精品导航 | 国产日韩三区| 亚洲欧美伊人| 电影午夜精品一区二区三区| 正在播放一区| av色综合网| 国内久久精品| 欧美精品123| 亚洲免费高清| 热re99久久精品国产99热| 国产视频一区在线观看一区免费| 激情久久av| 国产精品日本一区二区 | 久久久久高清| 亚洲日本黄色| 一区二区三区四区视频在线| 3d动漫啪啪精品一区二区免费| 亚洲欧洲精品一区二区三区波多野1战4| 国产精品美女| 国内一区二区三区| 日本在线一区| 国产欧美一区二区三区另类精品 | 日韩视频一区| 亚洲日本精品国产第一区| 久久亚洲色图| 亚洲茄子视频| 国产精品a级| 夜夜爽99久久国产综合精品女不卡| 久久亚洲图片| 国产精品三上| 亚洲一区二区三区免费观看| 欧美三级黄美女| 欧美在线网站| 亚洲一区美女| 色综合久久88色综合天天提莫| 久久久久久久久四区三区| 91在线在线观看| 亚洲男人影院| 国产精品一级| 先锋影音国产一区| 亚洲自拍另类| 亚洲欧美日韩综合一区| 99国产精品久久久久老师 | 一区二区三区四区| 日韩一区二区三区资源| 久久99精品国产一区二区三区| 99国产超薄肉色丝袜交足的后果| 国产精品夜夜夜一区二区三区尤| 亚洲欧洲在线一区| 国产婷婷精品| 国产一区二区高清| 国产伦一区二区三区色一情| 国产精品外国| av一本久道久久波多野结衣| 国产一区二区三区黄| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 欧美日韩国产精品一卡| 在线码字幕一区| 国内精品美女在线观看| 一本色道婷婷久久欧美| 美女尤物久久精品| 国产精品对白一区二区三区| 国产中文一区二区| 日本成人看片网址| 正在播放精油久久| 亚洲免费不卡| 久久人人97超碰人人澡爱香蕉 | 国产精品丝袜xxxxxxx| 久久久久久亚洲精品不卡4k岛国| 久久一区欧美| 欧美激情导航| 欧美视频亚洲视频| 国产欧美高清| 激情一区二区三区| 欧美日韩精品免费观看| 亚洲在线不卡| 欧美主播一区二区三区美女 久久精品人| 日韩av高清| 亚洲欧洲在线一区| 国产手机精品在线| 欧美日本一区| 99re视频在线播放| 日韩在线第一区| 亚洲人成在线影院| 精品产品国产在线不卡| 国产在线观看一区| 久久亚洲精选| 在线成人性视频| 久久久夜精品| 日本午夜精品一区二区| 亚洲黄色在线| 国产精品免费视频一区二区| 一区二区三区四区不卡| 老牛嫩草一区二区三区日本| 日本在线观看一区| 久久精品二区三区| 欧美精品色网| 国产一区二区在线网站 | 国产日韩欧美精品| 国产综合亚洲精品一区二| 高清不卡日本v二区在线| 一区一区视频| 国产精品国产三级国产专区53| 欧美在线精品一区| 精品国产一区二区三区麻豆免费观看完整版 | 亚洲欧洲精品一区| 91九色极品视频| 国产综合自拍| 日本高清视频一区二区三区| 国产伦精品一区二区三区| 丝袜美腿玉足3d专区一区| 久久精品系列| 亚洲精品孕妇| 亚洲欧美日韩国产yyy| 国产精品久久久久久久小唯西川| 国产尤物精品| 亚洲精品日韩精品| 狠狠色噜噜狠狠色综合久| 国产精品嫩草99av在线| 欧美日产一区二区三区在线观看| 久久国产精品-国产精品| 亚洲在线一区| 亚洲精品在线视频观看| 亚洲精品一区二| 精品国产乱码久久久久久郑州公司 | 欧美日本亚洲| 久久亚洲不卡| 国产精品入口| 亚洲看片免费| 国产一区自拍视频| 欧美成人高清| 一区二区精品在线| 亚洲成色www久久网站| 久久综合中文色婷婷| 国产精品久久久久久久天堂第1集| 亚洲专区一区二区三区| 影音先锋国产精品| 一区二区亚洲精品| 欧美激情一级片一区二区| 亚洲第一导航| 午夜久久资源| 亚洲v欧美v另类v综合v日韩v| 欧美成ee人免费视频| 国产三区二区一区久久| 精品国产乱码久久久久久久软件| 97超碰人人看人人| 国产经典一区二区三区| 韩国一区二区三区美女美女秀 | 色爱区成人综合网| 蜜桃视频成人| 欧美一区二区在线视频观看| 久久亚洲国产精品日日av夜夜| 久久福利电影| 色涩成人影视在线播放| 欧美 日韩 国产精品免费观看| 亚洲资源在线网| 欧美精品综合| 亚洲狼人精品一区二区三区| 国产一区二区三区免费不卡 | 在线播放亚洲| 国产美女一区| 国产精品一区二区三区免费 | 中文日韩欧美| 久久久久久黄| 久久国产精品99久久久久久丝袜| 欧美黑人3p| 欧美日韩一区二区三区在线视频 | 97视频热人人精品| 国产在线精品一区二区三区》 | 久久久久久久久一区| 亚洲看片网站| 一本久道久久久| 精品国产一区二区三区四区vr| 日本10禁啪啪无遮挡免费一区二区| 中文字幕一区二区三区四区五区| 极品中文字幕一区| 成人国产1314www色视频|