国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP Oauth授權和本地加密實現方法

2024-05-04 23:49:12
字體:
來源:轉載
供稿:網友

1.Oauth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方

關鍵字:appKey appSecret token(令牌)

2.SSO授權

如果本地手機裝有微博客戶端,則直接跳轉到微博客戶端,只需點擊授權按鈕,就可以登陸了 

qq第三方登陸使用Oauth2.0實現,測試代碼

點擊下面的連接

https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101334262&redirect_uri=http://www.qingguow.cn/sso.php

具體代碼sso.php文件:

<?php// qq登陸類class Sso{  const APP_ID="101334262";  const APP_KEY="xxxxxxxxxxxxxxx";  //初始化  public static function init(){    header("content-type:text/html;charset=utf-8");  }    //主函數  public static function main(){    //請求控制    $action=$_GET['action'];    if(!empty($action)){      Sso::$action();      return;    }        $par = 'grant_type=authorization_code'    . '&client_id='.Sso::APP_ID    . '&client_secret='.Sso::APP_KEY    . '&code='.$_REQUEST['code']    . '&redirect_uri='.urlencode('http://www.qingguow.cn/sso.php');    $rec=Sso::postUrlContents("https://graph.qq.com/oauth2.0/token",$par);    if(strpos($rec, 'access_token') !== false) {      parse_str($rec, $accessToken);      $openidJson=Sso::getUrlContents("https://graph.qq.com/oauth2.0/me?callback=callback&access_token={$accessToken['access_token']}");      $openidJson=str_replace("callback( ", "", $openidJson);      $openidJson=str_replace(");", "", $openidJson);      $openidJson=json_decode($openidJson,true);      header("location:sso.php?action=getQQinfo&openid={$openidJson['openid']}&access_token={$accessToken['access_token']}");    }  }  //獲取用戶信息  public static function getQQinfo(){    Sso::init();    $openid=$_GET['openid'];    $access_token=$_GET['access_token'];    $userJson=Sso::getUrlContents("https://graph.qq.com/user/get_user_info?openid={$openid}&access_token={$access_token}&oauth_consumer_key=".Sso::APP_ID);    $user=json_decode($userJson,true);    print_r($user);  }  //get方式請求數據  public static function getUrlContents($url){    $ch = curl_init();    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($ch, CURLOPT_HEADER, false);    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_REFERER, $url);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);    $result = curl_exec($ch);    curl_close($ch);    return $result;  }  //post請求數據  public static function postUrlContents($url,$data = null){    $curl = curl_init();    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);    if (!empty($data)){    curl_setopt($curl, CURLOPT_POST, 1);    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);    }    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);    $output = curl_exec($curl);    curl_close($curl);    return $output;  }}Sso::main();

以上這篇PHP Oauth授權和本地加密實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 漾濞| 汉沽区| 崇左市| 阿拉善盟| 宁阳县| 商水县| 廉江市| 安图县| 随州市| 鹿泉市| 沛县| 华容县| 马关县| 运城市| 庆安县| 肥东县| 瑞安市| 寻乌县| 鄂托克旗| 车致| 天水市| 东乡| 武山县| 长宁区| 兰州市| 怀远县| 灵川县| 普洱| 开原市| 册亨县| 呼伦贝尔市| 广丰县| 乡宁县| 射阳县| 南康市| 平遥县| 上林县| 嘉禾县| 冀州市| 九龙县| 托克逊县|