极光认证短信一键登录
public static function getMobile($loginToken, $exID) { try { $data['loginToken'] = $loginToken; $data['exID'] = $exID; $data = json_encode($data); $url = 'https://api.verification.jpush.cn/v1/web/loginTokenVerify'; $res = self::postCurl($url, $data); if ($res['code'] != 8000) { throw new Exception($res['content']); } //认证成功对手机号解密 $prefix = '-----BEGIN RSA PRIVATE KEY-----'; $suffix = '-----END RSA PRIVATE KEY-----'; $result = ''; $encrypted = $res['phone']; $prikey = ''; $key = $prefix . "\n" . $prikey . "\n" . $suffix; $r = openssl_private_decrypt(base64_decode($encrypted), $result, openssl_pkey_get_private($key)); return $result; } catch (\Exception $e) { throw new Exception($e->getMessage()); } } public static function postCurl($url, $data) { $pushAppKey = ""; $pushMasterSecret = ""; $appKey = $pushAppKey; $masterSecret = $pushMasterSecret; $base = base64_encode("{$appKey}:{$masterSecret}"); $add = "Authorization: Basic " . $base; $headerArray = array("Content-type:application/json", $add); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArray); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); $result = json_decode($output, true); return $result; }