可以直接拿去用了
<?<span php><span session_start><span><span class><span openlogin><span public> <span> = ""<span><span public> <span> = <span array><span><span public> <span function><span __construct><span>-><span openlogin><span function><span openlogin><span><span><span>
<span public> <span function><span login_url><span if>(<span empty>(<span>-><span config><span return> <span false><span><span> = <span>-><span config><span> = <span>['login_url'<span><span>['state'] = <span> = <span md5>(<span uniqid>(<span rand>(), <span true><span><span> = <span array><span>"response_type"=>"code",
"state" => <span>,
"client_id"=><span>['appkey'],
"redirect_uri"=><span urlencode>( <span>['redirect_uri'<span><span>->set(<span><span><span> = <span>->combineURL(<span> , <span>-><span _param><span if>(<span><span><span header>("Location:".<span><span><span else><span><span return> <span false><span><span><span><span>
<span public> <span function><span get_access_token><span if>(<span empty>(<span>-><span config><span return> <span false><span><span> = <span>-><span config><span if>(! <span>['code'] = <span>['code'<span><span return> <span false><span><span> = <span>['authorization_url'<span><span> = <span>['state'<span><span> = <span array><span>"grant_type"=>"authorization_code",
"client_id" => <span>['appkey'],
"client_secret"=><span>['appsecret'],
"code"=><span>['code'],
"redirect_uri"=><span urlencode>( <span>['redirect_uri'] ),
"state"=><span><span><span>->set(<span><span><span return> <span>->post_contents(<span><span><span><span set><span>
<span public> <span function> set(<span><span><span if>(<span empty>(<span><span><span return> <span false><span><span>->_param = <span array><span><span foreach>(<span> <span as> <span>=><span><span><span>->_param[<span>] = <span><span><span><span post_contents string><span>
<span public> <span function> post_contents(<span><span><span if>(<span empty>(<span><span><span return> <span false><span><span> = <span>->combineURL("" , <span>-><span _param><span> =<span curl_init><span><span>
curl_setopt(<span>, CURLOPT_URL, <span><span curl_setopt><span>, CURLOPT_FAILONERROR, <span false><span curl_setopt><span>, CURLOPT_RETURNTRANSFER, <span true><span curl_setopt><span>, CURLOPT_SSL_VERIFYPEER, 0<span curl_setopt><span>, CURLOPT_SSL_VERIFYHOST, 0<span curl_setopt><span>, CURLOPT_POST, 1<span curl_setopt><span>, CURLOPT_POSTFIELDS, <span><span><span><span>
<span> = curl_exec(<span><span curl_close><span><span><span return> <span><span><span><span get_contents string><span>
<span public> <span function> get_contents(<span><span><span> =<span curl_init curl_setopt><span>, CURLOPT_SSL_VERIFYPEER, <span false><span curl_setopt><span>, CURLOPT_RETURNTRANSFER, <span true><span curl_setopt><span>, CURLOPT_URL, <span><span><span> = curl_exec(<span><span curl_close><span><span><span><span>
<span if>(<span empty>(<span><span><span return> <span false><span><span return> <span><span><span><span combineurl string array><span>
<span public> <span function> combineURL(<span>,<span><span><span if>( <span>==""<span><span> = ""<span><span else><span><span> = <span>."?"<span><span> = <span array><span><span foreach>(<span> <span as> <span> => <span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>











