WeChat 공개 계정을 기반으로 공식 문서 개발:
사용자 정보를 얻는 단계는 다음과 같습니다.
1 1단계: 사용자는 코드 승인 및 획득에 동의합니다
2 2단계: 웹페이지 인증 access_token 코드 교환
3 3단계: access_token 새로 고침(필요한 경우)
4 4단계: 사용자 정보 가져오기(snsapi_userinfo 범위가 필요함)
1 코드 받기
WeChat 공개 계정에 인증 범위(범위 매개변수)의 권한이 있는지 확인하는 전제에서(서비스 계정은 고급 인터페이스에는 기본적으로 범위 매개변수에 snsapi_base 및 snsapi_userinfo가 있습니다.
"링크에 접근할 수 없습니다."라는 메시지가 표시되면 다음을 확인하세요. 매개변수가 잘못 입력되었으며 해당 범위 매개변수가 있는지 여부.
특별 참고 사항: 인증 작업의 높은 보안 수준으로 인해 인증 요청을 시작할 때 WeChat은 다음을 수행합니다. 인증 링크에 대한 정기적인 강력한 일치 확인 링크의 매개변수 순서가 올바르지 않으면 인증 페이지에 정상적으로 액세스할 수 없습니다.
그중
AppID - 공식 계정의 고유 식별자
REDIRECT_URI - 점프 URL
SCOPE - 값은 snsapi_base(팝업 없음 인증 페이지가 직접 점프하고 사용자의 openid만 얻을 수 있음) 또는 snsapi_userinfo(인증 페이지가 팝업되고 openid를 통해 닉네임, 성별, 위치를 얻을 수 있으며, 사용자를 팔로우하지 않더라도 사용자가 승인하면 정보를 얻을 수도 있습니다. )
STATE - 개발자가 매개변수 값을 맞춤 설정할 수 있습니다. a-zA-Z0-9
2 웹페이지 인증 access_token 코드 교환
사용자가 인증에 동의하면 페이지가 이동됩니다.redirect_uri/?code=CODE&state=STATE로 이동 .
state는 그대로 전달된 STATE 매개변수입니다.
구현 코드:
<code class="hljs php">$code = I('get.code'); if (empty($code)) { //todo 非微信访问 exit('</code>'); }else{ //授权后操作 }
여기서 나중에 access_token을 얻을 수 있습니다. 🎜>코드를 얻은 후 다음 링크를 요청하여 access_token을 얻으세요.
appid - 공식 계정의 고유 식별자
secret - 키code - 위 코드에서 반환
grant_type - 값은 Authorization_code
구현 코드:
<code class="hljs bash">$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret'); $str = file_get_contents($url); $str = json_decode($str, true); $access_token = $str['access_token'];</code>
여기에서 access_token은
캐시 처리되어 TP 프레임워크를 가져오기 위한 구현 코드를 자주 획득하는 것을방지할 수 있습니다. 예:
<code class="hljs php">$access_token = S('access_token'); if (empty($access_token)) { $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret'); $str = file_get_contents($url); $str = json_decode($str, true); $access_token = $str['access_token']; S('access_token', $access_token, 3600); }</code>
access_token을 얻은 후에는 openid(사용자의 고유 식별자)도 반환됩니다. 공식 WeChat 문서에서는 다음과 같이 설명합니다. 사용자의 고유 식별자는 공개 계정을 팔로우하지 않는 경우입니다. 사용자가 공식 계정의 웹페이지를 방문하면 해당 사용자와 공식 계정에 고유한 OpenID도 생성됩니다.
openid는 사용자가 처음으로 로그인하지 않은 경우 WeChat 사용자를 고유하게 식별합니다. 시간이 지나면 openid를 얻은 후 openid를 얻을 수 있습니다.
데이터베이스를 쿼리하여 이 openid에 바인딩된 사용자가 있는지 확인하면 사용자 데이터를 직접 얻을 필요가 없습니다. user_id 설정 session, 액세스하려면 직접 로그인 3 3단계 무시하고 필요할 때 access_token을 다시 얻으세요
4 사용자 정보 가져오기(범위가 필요함) snsapi_userinfo)
데이터베이스에 이 WeChat ID 사용자 바인딩이 없으면 사용자와 동일합니다. 처음 로그인할 때 사용자 정보를 얻기 위해 네 번째 단계를 거칩니다(사용자 인증의 경우). , 웹 페이지 인증 범위는 snsapi_userinfo이며 개발자는 이때 access_token 및 openid를 통해 사용자 정보를 가져올 수 있습니다. 그런 다음 백그라운드에서 사용자를 생성하고 바인딩합니다. 이 WeChat 계정
정의(openid를 통해)
access_token - 위에서 얻은 access_token
openid - 공개 계정의 고유 식별자<code class="hljs php">$url="https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN"; $str = file_get_contents($url); $str = json_decode($str, true); if (empty($str['errcode'])) { //创建user并绑定 openid}else{ //错误处理}</code>
위 내용은 WeChat 공개 계정에 대한 웹페이지 승인을 얻기 위한 구현 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
