> PHP 프레임워크 > ThinkPHP > TP의 모바일 WeChat 인증 로그인

TP의 모바일 WeChat 인증 로그인

王雪芹
풀어 주다: 2020-09-09 10:04:36
원래의
4042명이 탐색했습니다.

이제 WeChat은 모든 사람의 필수 소셜 도구가 되었습니다. 멤버십 플랫폼에서 WeChat으로 로그인할 수 있다면 사용자와 플랫폼 간의 유대감이 크게 높아질 것입니다. 이번에는 모바일 WeChat에서 인증된 로그인을 구현하는 방법을 안내해 드리겠습니다.

1. 웹페이지의 WeChat 로그인은 WeChat에서 구현되어야 합니다.

PC에서 QR코드를 스캔하여 로그인하는 것과 달리, 모바일 웹페이지에서는 일반 브라우저인 WeChat을 사용하여 로그인할 수 없으며 반드시 WeChat에서 사용해야 합니다.

2. 준비.

인증된 WeChat 서비스 계정이 필요하며 이는 필수 조건입니다. 로그인 WeChat 공개 플랫폼을 열고 "인터페이스 권한"을 찾습니다.

TP의 모바일 WeChat 인증 로그인

웹 사용자 정보를 얻을 수 있는 권한이 이미 부여되어 있습니다. 서비스 계정이 인증되지 않으면 해당 권한을 사용할 수 없습니다.

그런 다음 수정을 클릭하여 WeChat 인증이 필요한 도메인 이름을 구성하세요. 인증은 www.abc.com으로 작성해야 하며 http는 포함될 수 없습니다. 잘못된 작성 방법은 http://www.abc.com입니다.

3. WeChat 사용자 정보를 얻으려면 WeChat에 권한을 부여하세요

준비가 완료되면 문서를 따라갈 수 있습니다https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 단계 촬영되었습니다.

1단계: 사용자는 코드를 승인하고 획득하는 데 동의합니다.

public function wechat_login(){

            $appid='wxff5b68b041a4fb11';//公众号基本配置中获取
            $redirect_uri='http://a.xx.cn/mobile/user/weixin_m.html';//用户授权后跳转处理的地址
            $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
            return redirect($url);
        }
로그인 후 복사

사용자에게 wechat_login 메소드에 액세스하도록 안내합니다. 여기서는 두 가지 매개변수를 준비해야 합니다. appid는 공개 계정의 기본 구성에서 가져옵니다. Redirect_uri는 WeChat 사용자의 승인 후 처리 주소 콜백입니다. 여기에는 외부 네트워크로 접근 가능한 주소를 입력해야 합니다.

2단계: 코드를 통해 웹페이지 인증 access_token을 교환합니다

1단계에서 weixin_m 콜백 메소드를 설정합니다. 먼저 코드를 인쇄하여 얻을 수 있는지 확인합니다. 이는 프로그램 디버깅의 일반적인 단계이기도 합니다. 이 단계에 문제가 없으면 다음 단계로 진행합니다.

public function weixin_m(){
            $code=input('get.code');
            halt($code);
}
로그인 후 복사

TP의 모바일 WeChat 인증 로그인

다음으로 access_token을 얻습니다.

public function weixin_m(){
            $code=input('get.code');
            $appid='wxff5b68b241a4fb11';//公众号基本配置中获取
            $appsecret='412a24b17e61317d589b8bf92f374ffc';
            $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
            $res=json_decode(file_get_contents($url),true);//json转数组
}
로그인 후 복사

appid, appsecret, code 세 가지 매개변수가 필요한 access_token을 얻기 위해 주소를 요청합니다. appsecret은 공식 계정의 기본 구성에서도 얻을 수 있습니다.

검색 후 WeChat은 기본적으로 json 형식을 반환하므로 작업을 용이하게 하기 위해 json을 배열로 변환합니다.

다음과 같이 배열을 인쇄합니다.

array:6 [
                "access_token" => "37_3RRxoQZKuECSpCfGMYLcO-1ZXu_uhTkdku_m29u4XfSq9-Ve_0Fn5_K6vUBpkiL1iXRpEBepOfeMZZA7TGm-bg"
                 "expires_in" => 7200
                "refresh_token" => "37_CjmxjzqBCqiIVH3aKjR22RQniCr_7DYYJYgodMONV5822FnfKuq0VwOS0B9dfucHf6GxTjXbczruwS5NIkGAWw"
                 "openid" => "oaq-51XAHNaj9qUxVwYu3-elVTa0"
                 "scope" => "snsapi_userinfo"
                 "unionid" => "oO0Bhv6ZSw4ZYV60CMzi2p4eUO7s"
            ]
로그인 후 복사

이런 식으로 우리는 access_token과 openid를 성공적으로 얻었습니다.

3단계: 사용자 정보 가져오기(snsapi_userinfo 범위 필요)

우리는 여전히 문서에 따라 주소를 요청합니다:

 $user_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$res['access_token']."&openid=".$res['openid']."&lang=zh_CN";            
 $userData=json_decode(file_get_contents($user_url),true);//json转数组            
 halt($userData);
로그인 후 복사

요청할 때 두 번째에서 얻은 access_token을 휴대해야 합니다. step 및 openid 두 개의 매개변수. WeChat의 반환은 여전히 ​​json 형식이므로 json을 다시 배열로 변환합니다.

다음과 같이 배열을 인쇄합니다.

TP의 모바일 WeChat 인증 로그인

사용자 데이터를 얻은 후 배열을 저장하거나 다른 작업을 수행할 수 있습니다.

지금까지 "모바일 WeChat 인증 로그인"이 도입되었습니다. 전체적인 난이도는 높지 않으며 모든 사람이 문서를 인내심있게 읽어야 합니다. 모두들 어서!

위 내용은 TP의 모바일 WeChat 인증 로그인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿