第三方登陆的使用步骤
步骤一:【申请使用】
首先登录网站 http://open.51094.com/,进入管理中心创建一个应用。
1、点击创建应用按钮,然后
2、选择应用类型为《网站应用》,完成后跳转至应用信息填写页面。
3、信息填写页面如下图所示,按要求正确填写应用信息,完成后点击创建应用即可使用。
参数说明:
名称: 申请应用的简称
详情: 应用的说明信息,字数不得少于10个汉字
登录成功回调地址:如:http://www.liqiang.com/php9/week3/gaojimoban/frontend/web/
申请方接收用户信息的url, 我们以url+?+参数的格式通知申请方。切记填写的url中不可以带有?
支持的登录方式:
提供自己选择,默认为全选。
步骤二:【客户端引用(网站应用)】
1、在用户中心的管理中心处可以查看到应用需要引用的js地址,如下图红框所示:
2、在需要登录的页面中加入如下js代码:(并且将地该址替换)
<script type="text/javascript" src="http://open.51094.com/user/myscript /153dee5be21e2.html"></script>
3、在页面标签中加入(<span id="hzy_fast_login"></span>)如下图所示
4、成功加入后在登录页面即可看到相应的登录。如下图所示。
步骤三:【登陆成功回调通知】
参考改地址下载php示例源码
http://test.open.51094.com/index.php
解压下载的文件(back.php open.config.php open51094.class.php index.php),放到网站目录下新建文件夹下
1将文件整理成一个文件,代码如下:
<?php
namespace frontend\oauth; <span style="font-family:宋体;">//加命名空间</span>
define( 'APPID', '157de3d8719461'); <span style="font-family:宋体;">//替换appid</span>
define( 'TOKEN', '6ee576da16ef85b02cf09047a70cb038'); <span style="font-family:宋体;">//替换token</span>
class open{
private $appid;
private $token;
private $return_uri;
private $access_token;
private $url = 'http://open.51094.com/user/auth.html';
function __construct(){
$this->appid = APPID;
$this->token = TOKEN;
}
function me( $code ){
#$this->getAccessToken();
$params=array(
'type'=>'get_user_info',
'code'=>$code,
'appid'=>$this->appid,
'token'=>$this->token
);;
return $this->http( $params );
}
/*private function getAccessToken(){
if( !isset( $_SESSION['open_51094_access_token'] ) || empty( $_SESSION['open_51094_access_token'] ) ){
$params = array(
'type'=>'get_access_token',
'appid'=>$this->appid,
'token'=>$this->token
);
$ret = $this->http( $params );
if( isset( $ret['access_token'] ) && !empty( $ret['access_token'] ) && 32 == strlen( $ret['access_token'] ) ){
$this->access_token = $ret['access_token'];
$_SESSION['open_51094_access_token'] = $ret['access_token'];
}else{
exit('time out');
}
}else{
$this->access_token = $_SESSION['open_51094_access_token'];
}
}*/
private function http( $postfields='', $method='POST', $headers=array()){
$ci=curl_init();
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ci, CURLOPT_TIMEOUT, 30);
if($method=='POST'){
curl_setopt($ci, CURLOPT_POST, TRUE);
if($postfields!='')curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
}
$headers[]="User-Agent: 51094PHP(open.ww.com)";
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ci, CURLOPT_URL, $this->url);
$response=curl_exec($ci);
curl_close($ci);
$json_r=array();
if(!empty( $response ))$json_r=json_decode($response, true);
return $json_r;
}
}
?>
2、将back文件中的代码复制到网站指定的方法名index下
$open = new open();
$code = $_GET['code'];
var_dump($open->me($code));die;