>위챗 애플릿 >미니 프로그램 개발 >사용자 정보를 얻기 위해 WeChat 애플릿 인증 로그인에 대한 자세한 설명

사용자 정보를 얻기 위해 WeChat 애플릿 인증 로그인에 대한 자세한 설명

coldplay.xixi
coldplay.xixi앞으로
2020-12-24 17:45:054033검색

미니 프로그램 개발 튜토리얼이 블로그의 칼럼 기록은 위챗 미니 프로그램 로그인 과정만을 기록하기 위한 것입니다

사용자 정보를 얻기 위해 WeChat 애플릿 인증 로그인에 대한 자세한 설명

추천(무료): 미니 프로그램 개발 튜토리얼

WeChat 미니 프로그램 문서 열기: 개발자 .weixin.qq.com/miniprogr...

이 블로그는 WeChat 애플릿 로그인 프로세스를 기록하는 데만 사용됩니다. 특정 코드는 WeChat 문서를 참조하세요.

  1. 애플릿 먼저 자격 증명 코드를 얻기 위해 wx.login() 인터페이스를 호출하고, 기본 사용자 정보를 얻기 위해 성공 콜백 메소드에서 wx.getUserInfo() 인터페이스를 호출합니다. (인터페이스는 암호화된 데이터 사용자 중요 정보를 성공적으로 반환합니다. iv 초기 벡터 암호화 알고리즘)

    wx.login({
     success: function (e) {
         var code = e.code;//登录凭证
         if (code) {
             //2、调用获取用户信息接口
             wx.getUserInfo({
                 success: function (res) {
                     console.log({encryptedData: res.encryptedData, iv: res.iv, code: code});
                     // 将code, encryptedData ,iv 发送给服务端 ,根据服务端返回的数据判断登录成功或者失败
                 },
                 fail: function () {
                     console.log('获取用户信息失败')
                 }
             })
    
         } else {
             console.log('获取用户登录态失败!' + e.errMsg)
         }
     },
     fail: function () {
         callback(false)
     }})

    wx.login 문서 주소:developers.weixin.qq.com/miniprogr...
    wx.getUserInfo 문서 주소:developers.weixin.qq.com/miniprogr...

  2. 서버 측 : 미니 프로그램의 매개변수 코드를 가져오고 WeChat auth.code2Session 인터페이스를 호출합니다. openid, session_key 등을 성공적으로 반환한 다음 WeChat

    public function miniProgramLogin($code){
         $url = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=$code&grant_type=authorization_code";
         return json_decode(curl_request($url), true);}//助手函数  curl_requestfunction curl_request($url, $data=null, $method='get', $header = array("content-type: application/json"), $https=true, $timeout = 5){
         $method = strtoupper($method);
         $ch = curl_init();//初始化
         curl_setopt($ch, CURLOPT_URL, $url);//访问的URL
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
         if($https){
             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//https请求 不验证证书
             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//https请求 不验证HOST
         }
         if ($method != "GET") {
             if($method == 'POST'){
                 curl_setopt($ch, CURLOPT_POST, true);//请求方式为post请求
             }
             if ($method == 'PUT' || strtoupper($method) == 'DELETE') {
                 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
             }
             curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//请求数据
         }
         curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //模拟的header头
         //curl_setopt($ch, CURLOPT_HEADER, false);//设置不需要头信息
         $result = curl_exec($ch);//执行请求
         curl_close($ch);//关闭curl,释放资源
         return $result;}

    auth.code2Session 인터페이스 문서에서 제공하는 공식 검증 및 암호 해독 문서를 확인합니다: 개발자. weixin.qq.com/miniprogr...
    데이터 복호화 문서(다양한 언어의 샘플 코드 포함): 개발자 .weixin.qq.com/miniprogr...

복호화된 데이터:
사용자 정보를 얻기 위해 WeChat 애플릿 인증 로그인에 대한 자세한 설명

복호화된 데이터 가져오기 사용자 테이블을 저장/업데이트합니다.

위 내용은 사용자 정보를 얻기 위해 WeChat 애플릿 인증 로그인에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제