Constants

API_DOMAIN

API_DOMAIN = 'https://openapi.baidu.com/'

api域名

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 : string

非必须参数。以空格分隔的权限列表,若不传递此参数,代表请求的数据访问操作权限与上次获取Access Token时一致。通过Refresh Token刷新Access Token时所要求的scope权限范围必须小于等于上次获取Access Token时授予的权限范围。关于权限的具体信息请参考http://developer.baidu.com/wiki/index.php?title=docs/oauth/baiduoauth/list

Type

string

$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

非必须参数,登录和授权页面的展现样式,默认为“page”,具体参数定义请参考http://developer.baidu.com/wiki/index.php?title=docs/oauth/set

Type

string

$forceLogin

$forceLogin : string

非必须参数,如传递“force_login=1”,则加载登录页时强制用户输入用户名和口令,不会从cookie中读取百度用户的登陆状态。

Type

string

$confirmLogin

$confirmLogin : string

非必须参数,如传递“confirm_login=1”且百度用户已处于登陆状态,会提示是否使用已当前登陆用户对应用授权。

Type

string

$loginType

$loginType : string

非必须参数,如传递“login_type=sms”,授权页面会默认使用短信动态密码注册登陆方式。

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

非必须参数,用于保持请求和回调的状态,授权服务器在回调时(重定向用户浏览器到“redirect_uri”时),会在Query Parameter中原样回传该参数。OAuth2.0标准协议建议,利用state参数来防止CSRF攻击。

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

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