极光认证短信一键登录

    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;
    }

  

posted @ 2021-03-15 11:42  禾火意  阅读(389)  评论(0编辑  收藏  举报