💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
极光号码认证一键登录 需要准备好key,secret 用于生成token去调用接口拿到加密的号码信息 后续拿到加密号码信息后 使用生成的私钥进行解密,解密后就是号码了 ``` <?php namespace App\Services\Jiguang; use Illuminate\Support\Facades\Log; class LoginTokenVerify { /** * 获取手机号 * @param $loginToken 认证SDK获取到的loginToken * @param $exID 开发者自定义的id,非必填 * @return string * @see https://docs.jiguang.cn/jverification/server/rest_api/loginTokenVerify_api */ public static function getMobile($loginToken, $exID = '') { $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'] ?? '认证失败!'); } //认证成功对手机号解密 $mobile = ''; $encrypted = $res['phone']; $key=self::getPrikey(); $decryptRes = openssl_private_decrypt(base64_decode($encrypted), $mobile, openssl_pkey_get_private($key)); if ($decryptRes) { return $mobile; } throw new \Exception('获取手机号失败:解密失败!'); } /** * json 格式的post请求 * @param $url * @param $data * @return mixed */ protected static function postCurl($url, $data) { $appKey = config('jiguang.login_token_verify.key'); $masterSecret = config('jiguang.login_token_verify.secret'); $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; } /** * 获取私钥 * @return string */ protected static function getPrikey():string { $prefix = '-----BEGIN RSA PRIVATE KEY-----'; $suffix = '-----END RSA PRIVATE KEY-----'; $prikey = config('jiguang.login_token_verify.prikey'); $key = $prefix . "\n" . $prikey . "\n" . $suffix; return $key; } } ```