摘要:在平時項目開發過程中,除了注冊本網站賬號進行登錄之外,還可以調用第三方接口進行登錄網站。微博登錄包括身份認證用戶關系以及內容傳播。允許用戶使用微博帳號登錄訪問第三方網站,分享內容,同步信息。
在平時項目開發過程中,除了注冊本網站賬號進行登錄之外,還可以調用第三方接口進行登錄網站。這里以微博登錄為例。微博登錄包括身份認證、用戶關系以及內容傳播。允許用戶使用微博帳號登錄訪問第三方網站,分享內容,同步信息。
1、首先需要引導需要授權的用戶到如下地址:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
如果用戶同意授權,頁面跳轉至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
2、接下來要根據上面得到的code來換取Access Token:
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
返回值:
JSON
{ "access_token": "SlAV32hkKG", "remind_in": 3600, "expires_in": 3600 }
3、最后,使用獲得的OAuth2.0 Access Token調用API,獲取用戶身份,完成用戶的登錄。
話不多說,直接上代碼:
為了方便,我們先將get和post封裝到application下的common.php中:
應用公共文件common.php:
function get( $url, $_header = NULL ) { $curl = curl_init(); //curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false); if( stripos($url, "https://") !==FALSE ) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); } curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if ( $_header != NULL ) { curl_setopt($curl, CURLOPT_HTTPHEADER, $_header); } $ret = curl_exec($curl); $info = curl_getinfo($curl); curl_close($curl); if( intval( $info["http_code"] ) == 200 ) { return $ret; } return false; } /* * post method */ function post( $url, $param ) { $oCurl = curl_init (); curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false); if (stripos ( $url, "https://" ) !== FALSE) { curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false ); } curl_setopt ( $oCurl, CURLOPT_URL, $url ); curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $oCurl, CURLOPT_POST, true ); curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param ); $sContent = curl_exec ( $oCurl ); $aStatus = curl_getinfo ( $oCurl ); curl_close ( $oCurl ); if (intval ( $aStatus ["http_code"] ) == 200) { return $sContent; } else { return false; } }
控制器處理代碼Login.php:
class Login extends hinkController { public function index() { $key = "****"; $redirect_uri = "***微博應用安全域名***/?backurl=***項目本地域名***/home/login/webLogin?"; //授權后將頁面重定向到本地項目 $redirect_uri = urlencode($redirect_uri); $wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}"; $this -> assign("wb_url",$wb_url); return view("login"); } public function webLogin(){ $key = "*****"; //接收code值 $code = input("get.code"); //換取Access Token: post方式請求 替換參數: client_id, client_secret,redirect_uri, code $secret = "********"; $redirect_uri = "********"; $url = "https://api.weibo.com/oauth2/access_token?client_id={$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}"; $token = post($url, array()); $token = json_decode($token, true); //獲取用戶信息 : get方法,替換參數: access_token, uid $url = "https://api.weibo.com/2/users/show.json?access_token={$token["access_token"]}&uid={$token["uid"]}"; $info = get($url); if($info){ echo "登錄成功
"; } } }
模板代碼login.html:
微博登錄 點擊這里進行微博登錄
效果圖:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30906.html
摘要:微博墻就是這樣的一個工具,這不是一款普通的插件,這是一款搭建在基于的插件。這是一款基于的插件,底層語言開發,性能卓越。 在現在移動互聯網時代,微博已經成為了每個人生活中必不可少的一個社交工具。而WordPress是全世界最為流行的博客系統,把你的博客接入新浪微博,借助微博的強大用戶群,不僅能給你的網站提供巨大的流量,而且還能帶來不可估量價值。 WordPress微博墻就是這樣的一個工具...
摘要:微博圖床對于微博圖床的理解得力于這篇文章利用微博當圖床語言實現。源碼如下上傳圖片到微博圖床圖片文件圖片是否采用方式上傳返回的數據微博提交正則表達式提取返回結果中的數據微博機器人源碼列舉了所要用到的幾個重要,最后還是貼一下機器人的源碼吧。 ? 在2011年的時候,浙大的一位博士生借助微博的開放平臺為他實驗室的一臺飲水機弄了個微博,名喚@浙大CCNT實驗室飲水機,俗稱飲水機娘。當年這...
摘要:關于接入微博登錄的代碼實現今天嘗試使用了微博登錄的接口,也是即將使用接入微信登錄,登錄,手機號登錄用戶名登錄等支持多種操作的問題微博的接口特別簡單明了,文檔也挺清晰的。 關于接入微博登錄的代碼實現 今天嘗試使用了微博登錄的接口,也是即將使用接入微信登錄,QQ登錄,手機號登錄、用戶名登錄等支持多種操作的問題 微博的接口特別簡單明了,文檔也挺清晰的。 采用了OAuth2.0 的方式 請求授...
摘要:微博登錄是最常用的第三方賬號登錄之一。當前狀態是未提交審核,待你開發完了上線后,提交微博審核,審核通過后即可正常使用。集成微博登錄首先簡介一下,第三方登錄開發的流程。文件是首頁,其實他的唯一作用就是產生一個微博登錄跳轉鏈接。 微博登錄是最常用的第三方賬號登錄之一。由于其網站用戶量大,可操作接口功能多,所以受到很多開發者的青睞。 既然是第三方,如果想使用它們的賬號進行登錄,那么第一步就應...
摘要:模擬登錄新浪微博的核心,也是與模擬登錄最大的不同,密碼加密。已經實現模擬新浪微博登錄的功能,之后不再更新。 參考資料: http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/ http://blog.csdn.net/fly_leopard/article/details/51148904 http://www....
閱讀 2790·2021-11-04 16:15
閱讀 3463·2021-09-29 09:35
閱讀 4049·2021-09-22 15:45
閱讀 1420·2019-08-30 15:55
閱讀 1693·2019-08-30 15:44
閱讀 2721·2019-08-29 12:56
閱讀 2701·2019-08-26 13:30
閱讀 2177·2019-08-23 17:00