39 lines
1.2 KiB
PHP
Executable File
39 lines
1.2 KiB
PHP
Executable File
<?php
|
|
class callback extends BaseController {
|
|
public function enter(){
|
|
if( v('code') && !$_SESSION['__SINA']['TOKEN'] ){
|
|
$keys = array();
|
|
$keys['code'] = v('code');
|
|
$keys['redirect_uri'] = c('callback');
|
|
if( $token = Weibo::getAccessToken( 'code',$keys ) ){
|
|
$res = Weibo::show_user_by_id( $token['uid'] );
|
|
if( $res && !isset( $res['error_code'] ) ){
|
|
foreach ($res as $key => $value) {
|
|
$_SESSION[$key] = $value;
|
|
}
|
|
$_SESSION['__SINA']['TOKEN'] = $token;
|
|
}else{
|
|
die( 'REST API ERROR!' );
|
|
}
|
|
$_SESSION['expiresTime'] = time() + $token['remind_in'];
|
|
$_SESSION['__SINA']['TOKEN'] = $token['access_token'];
|
|
$_SESSION['uid'] = $token['uid'] ;
|
|
$uid=$_SESSION['uid'];
|
|
|
|
|
|
if( $_SESSION['backUrl'] ){
|
|
if( strpos( $_SESSION['backUrl'] , '?' ) === false ){
|
|
$backUrl = $_SESSION['backUrl'].'?viewer='.$_SESSION['uid'];
|
|
}else{
|
|
$backUrl = $_SESSION['backUrl'].'&viewer='.$_SESSION['uid'];
|
|
}
|
|
header("Location: ".$backUrl );
|
|
}else{
|
|
header('Location: http://'.$_SERVER['HTTP_HOST'].'/');
|
|
}
|
|
}
|
|
}else{
|
|
die( '<div style="padding:20px;text-aligin:center">只有授权后才能进入应用 </div>' );
|
|
}
|
|
}
|
|
} |