<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                極光號碼認證一鍵登錄 需要準備好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; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看