Constants

API_DOMAIN

API_DOMAIN = 'https://api.weibo.com/'

api域名

API_MOBILE_DOMAIN

API_MOBILE_DOMAIN = 'https://open.weibo.cn/'

当display=mobile时,使用该域名

Properties

$http

$http : \Yurun\OAuthLogin\Yurun\Util\HttpRequest

http请求类

Type

\Yurun\OAuthLogin\Yurun\Util\HttpRequest

$appid

$appid : string

应用的唯一标识。

Type

string

$appSecret

$appSecret : string

appid对应的密钥

Type

string

$callbackUrl

$callbackUrl : string

登录回调地址

Type

string

$state

$state : string

state值,调用getAuthUrl方法后可以获取到

Type

string

$scope

$scope : array

授权权限列表

Type

array

$result

$result : array

接口调用结果

Type

array

$accessToken

$accessToken : string

AccessToken,调用相应方法后可以获取到

Type

string

$openid

$openid : string

openid,调用相应方法后可以获取到

Type

string

$loginAgentUrl

$loginAgentUrl : string

登录代理地址,用于解决只能设置一个回调域名/地址的问题

Type

string

$display

$display : string

授权页面的终端类型,取值见微博文档。http://open.weibo.com/wiki/Oauth2/authorize

Type

string

$forcelogin

$forcelogin : boolean

是否强制用户重新登录,true:是,false:否。默认false。

Type

boolean

$language

$language : string

授权页语言,缺省为中文简体版,en为英文版。

Type

string

$screenName

$screenName : string

获取用户资料时传的参数,可空

Type

string

Methods

__construct()

__construct(string  $appid = null, string  $appSecret = null, string  $callbackUrl = null) 

构造方法

Parameters

string $appid

应用的唯一标识

string $appSecret

appid对应的密钥

string $callbackUrl

登录回调地址

jsonp_decode()

jsonp_decode(string  $jsonp, boolean  $assoc = false) : array

把jsonp转为php数组

Parameters

string $jsonp

jsonp字符串

boolean $assoc

当该参数为true时,将返回array而非object

Returns

array

http_build_query()

http_build_query(array  $query_data, string  $numeric_prefix = '', string  $arg_separator = '&', integer  $enc_type = PHP_QUERY_RFC1738) : void

http_build_query — 生成 URL-encode 之后的请求字符串

Parameters

array $query_data
string $numeric_prefix
string $arg_separator
integer $enc_type

checkState()

checkState(string  $storeState, string  $state = null) : boolean

检测state是否相等

Parameters

string $storeState

本地存储的正确的state

string $state

回调传递过来的state

Returns

boolean

getAuthUrl()

getAuthUrl(string  $callbackUrl = null, string  $state = null, array  $scope = null) : string

第一步:获取登录页面跳转url

Parameters

string $callbackUrl

登录回调地址

string $state

状态值,不传则自动生成,随后可以通过->state获取。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。一般为每个用户登录时随机生成state存在session中,登录回调中判断state是否和session中相同

array $scope

请求用户授权时向用户显示的可进行授权的列表。可空

Returns

string

getAccessToken()

getAccessToken(string  $storeState = '', string  $code = null, string  $state = null) : string

第二步:处理回调并获取access_token。与getAccessToken不同的是会验证state值是否匹配,防止csrf攻击。

Parameters

string $storeState

存储的正确的state

string $code

第一步里$callbackUrl地址中传过来的code,为null则通过get参数获取

string $state

回调接收到的state,为null则通过get参数获取

Returns

string

getUserInfo()

getUserInfo(string  $accessToken = null) : array

获取用户资料

Parameters

string $accessToken

Returns

array

refreshToken()

refreshToken(string  $refreshToken) : boolean

刷新AccessToken续期

Parameters

string $refreshToken

Returns

boolean

validateAccessToken()

validateAccessToken(string  $accessToken = null) : boolean

检验授权凭证AccessToken是否有效

Parameters

string $accessToken

Returns

boolean

displayLoginAgent()

displayLoginAgent() : void

输出登录代理页内容,用于解决只能设置一个回调域名/地址的问题

getRedirectUri()

getRedirectUri() : string

获取回调地址

Returns

string

getUrl()

getUrl(string  $name, array  $params = array()) : string

获取url地址

Parameters

string $name

跟在域名后的文本

array $params

GET参数

Returns

string

getMobileUrl()

getMobileUrl(string  $name, array  $params) : string

获取display=mobile时的url地址

Parameters

string $name

跟在域名后的文本

array $params

GET参数

Returns

string

getState()

getState(string  $state = null) : string

获取state值

Parameters

string $state

Returns

string

__getAccessToken()

__getAccessToken(string  $storeState, string  $code = null, string  $state = null) : string

第二步:处理回调并获取access_token。与getAccessToken不同的是会验证state值是否匹配,防止csrf攻击。

Parameters

string $storeState

存储的正确的state

string $code

第一步里$redirectUri地址中传过来的code,为null则通过get参数获取

string $state

回调接收到的state,为null则通过get参数获取

Returns

string