房地产行业网站建设报价方案,中国工程建设协会网站,做游戏网站要备案吗,网站制作横幅图片素材在平时项目开发过程中#xff0c;除了注册本网站账号进行登录之外#xff0c;还可以调用第三方接口进行登录网站。这里以微博登录为例。微博登录包括身份认证、用户关系以及内容传播。允许用户使用微博帐号登录访问第三方网站#xff0c;分享内容#xff0c;同步信息。1、首…在平时项目开发过程中除了注册本网站账号进行登录之外还可以调用第三方接口进行登录网站。这里以微博登录为例。微博登录包括身份认证、用户关系以及内容传播。允许用户使用微博帐号登录访问第三方网站分享内容同步信息。1、首先需要引导需要授权的用户到如下地址https://api.weibo.com/oauth2/authorize?client_idYOUR_CLIENT_IDresponse_typecoderedirect_uriYOUR_REGISTERED_REDIRECT_URI如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?codeCODE2、接下来要根据上面得到的code来换取Access Tokenhttps://api.weibo.com/oauth2/access_token?client_idYOUR_CLIENT_IDclient_secretYOUR_CLIENT_SECRETgrant_typeauthorization_coderedirect_uriYOUR_REGISTERED_REDIRECT_URIcodeCODE返回值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.phpclass Login extends \think\Controller{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_typecoderedirect_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_typeauthorization_coderedirect_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微博登录点击这里进行微博登录效果图以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。