Constants

API_DOMAIN

API_DOMAIN = 'https://openapi.alipay.com/gateway.do'

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

$signType

$signType : string

商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2

Type

string

$appAuthToken

$appAuthToken : string

详见应用授权概述:https://docs.open.alipay.com/common/105193

Type

string

$appPrivateKey

$appPrivateKey : string

私有证书文件内容

Type

string

$appPrivateKeyFile

$appPrivateKeyFile : 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

非必须参数,用于保持请求和回调的状态,授权服务器在回调时(重定向用户浏览器到“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

sign()

sign(  $data) : string

签名

Parameters

$data

Returns

string

parseSignData()

parseSignData(array  $data) : string

处理验证数据

Parameters

array $data

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