찾다
  • 로그인
  • 가입
비밀번호 재설정 성공

당신이 관심을 갖고 있는 프로젝트를 팔로우하고 그들에 관한 최신 뉴스를 맛보세요

WeChat 웹페이지 인증

수집 105
읽다 40454
업데이트 시간 2016-09-11

WeChat 웹페이지 인증

1475981980514516.png

사용자가 WeChat 클라이언트에서 제3자 웹페이지에 액세스하는 경우 공식 계정은 WeChat 웹페이지 인증 메커니즘을 통해 사용자의 기본 정보를 얻은 다음 비즈니스 로직을 구현할 수 있습니다.

웹페이지 승인 콜백 도메인 이름에 대한 안내

1. WeChat 공식 계정이 사용자의 웹페이지 승인을 요청하기 전에 개발자는 "개발-인터페이스 권한-웹페이지 서비스-웹페이지 계정-웹페이지 승인 받기"로 이동해야 합니다. 공개 플랫폼 공식 홈페이지의 "기본 사용자 정보" 구성 옵션에서 인증 콜백 도메인 이름을 수정하세요. 여기에는 URL이 아닌 도메인 이름(문자열)이 입력되므로 http://와 같은 프로토콜 헤더를 추가하지 마세요.

2 인증 콜백 도메인 이름 구성 사양은 전체 도메인입니다. 웹 페이지 승인이 필요한 도메인 이름과 같은 이름은 www.qq.com입니다. 구성 후 페이지는 http://www.qq.com/music.html 및 http://www.qq.com입니다. 이 도메인 이름의 /login.html은 OAuth2.0으로 인증될 수 있습니다. 단, http://pay.qq.com, http://music.qq.com, http://qq.com은 OAuth2.0 인증을 수행할 수 없습니다.

3. 공식 계정 로그인이 제3자에게 승인된 경우. 개발자 관리하려면 어떤 설정도 할 필요가 없습니다. 제3자가 공식 계정을 대체하여 웹 페이지 승인을 구현하도록 하세요

웹페이지 권한 부여의 두 범위에 대한 설명

1 범위는 입력하는 사용자를 얻는 데 사용되므로 snsapi_base로 시작됩니다. 페이지 openid가 자동으로 인증되고 자동으로 콜백 페이지로 이동합니다. 사용자가 인식하는 것은 콜백 페이지(종종 비즈니스 페이지)

2에 직접 들어가는 것입니다. snsapi_userinfo를 범위로 사용하여 시작된 웹 페이지 인증은 사용자의 기본 정보를 얻는 데 사용됩니다. 그러나 이러한 승인을 위해서는 사용자가 수동으로 동의해야 하며, 사용자가 동의하였으므로 별도의 주의는 필요하지 않으며, 승인 후에는 사용자의 기본정보를 얻을 수 있습니다.

3. 사용자 관리 인터페이스의 "사용자 기본 정보 얻기 인터페이스"는 사용자가 공식 계정에 접속하거나 이벤트를 푸시한 후에만 사용자의 OpenID를 기반으로 사용자의 기본 정보를 얻을 수 있습니다. 메시지. 다른 WeChat 인터페이스를 포함한 이 인터페이스를 성공적으로 호출하려면 사용자(예: openid)가 공식 계정을 팔로우해야 합니다.

웹페이지 인증 access_token과 일반 access_token의 차이점

1. WeChat 웹페이지 인증은 OAuth2를 통해 구현됩니다. .0 메커니즘에서는 사용자가 공식 계정을 승인한 후 공식 계정에서 웹 페이지 승인 전용 인터페이스 호출 인증서(웹 페이지 승인 access_token)를 얻을 수 있으며, 웹 페이지 승인 access_token을 통해 사후 승인 인터페이스 호출이 이루어질 수 있습니다. 사용자의 기본 정보 획득 등

2. 다른 WeChat 인터페이스의 경우 기본 지원의 "Get access_token" 인터페이스를 통해 일반 access_token 호출을 얻어야 합니다.

UnionID 메커니즘 정보

1. 기본 사용자 정보를 얻기 위한 웹페이지 인증도 UnionID 메커니즘을 따릅니다. 즉, 개발자가 여러 공식 계정 간 또는 공식 계정과 모바일 애플리케이션 간 사용자 계정을 통합해야 하는 경우 먼저 WeChat 오픈 플랫폼(open.weixin.qq.com)으로 이동하여 공식 계정을 바인딩해야 합니다. 위의 요구 사항을 충족하려면 UnionID 메커니즘을 사용하세요.

2. UnionID 메커니즘의 역할 설명: 개발자가 여러 모바일 애플리케이션, 웹사이트 애플리케이션 및 공개 계정을 보유한 경우 동일한 사용자가 사용자의 기본 정보에서 UnionID를 획득하여 사용자의 고유성을 구별할 수 있습니다. 동일한 WeChat에 공개 플랫폼 아래의 다양한 애플리케이션(모바일 애플리케이션, 웹사이트 애플리케이션 및 공개 계정)은 동일한 통합 ID를 갖습니다.

특수 시나리오의 자동 인증 정보

1. 위에서 언급한 것처럼 snsapi_base를 범위로 하는 웹 페이지 인증의 경우 자동으로 인증되며 사용자는 알 수 없습니다.

2. account , 사용자가 공식 계정의 세션이나 사용자 정의 메뉴에서 공식 계정의 웹 인증 페이지에 들어가면 범위가 snsapi_userinfo라도 인증이 자동으로 수행되어 사용자가 알지 못합니다.

구체적으로 웹페이지 인증 프로세스는 4단계로 나누어집니다.

1. 사용자가 인증 페이지에 들어가 인증에 동의하고 코드를 얻도록 안내합니다.

2. 웹페이지 인증 access_token(access_token과 다름)으로 코드를 교환합니다.

3. 필요한 경우 개발자는 만료를 방지하기 위해 웹페이지 인증 access_token을 새로 고칠 수 있습니다.

4. 웹페이지 인증 access_token 및 openid를 통해 사용자 기본 정보를 얻습니다(UnionID 메커니즘 지원)


1단계 : 사용자는 코드 승인 및 획득에 동의합니다

WeChat 공개 계정에 승인 범위(범위 매개변수)의 권한이 있는지 확인한다는 전제 하에(서비스 계정이 고급 인터페이스를 얻은 후 snsapi_base 및 snsapi_userinfo가 포함됩니다) 기본적으로 범위 매개변수), 추종자에게 다음 페이지를 열도록 안내합니다:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect "링크에 접근할 수 없습니다"라는 메시지가 표시되면 매개변수가 다음과 같은지 확인하세요. 범위 매개변수에 해당하는 승인 범위 권한이 올바르게 입력되었습니다.

특별 참고 사항: 승인 작업의 높은 보안 수준으로 인해 WeChat은 승인 요청을 시작할 때 링크의 매개변수 순서가 잘못된 경우 정기적으로 강력한 일치 확인을 수행합니다. 승인 페이지는 정상적으로 접속이 되지 않습니다

참조 링크(체험하려면 위챗 클라이언트에서 이 링크를 열어주세요) 범위는 snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https %3A%2F%2Fchong.qq .com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap

ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_bas

e&state=123# wechat_redirect 범위는 snsapi_userinfo https://open .weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Fauth_response.php&response_type=

code&scope=snsapi_userinfo&state=STATE#wechat_re입니다. 직접

특별한 주의: 점프 콜백 리디렉션_uri는 인증 코드의 보안을 보장하기 위해 https 링크를 사용해야 합니다.

매개변수 설명

매개변수 가 필수인가요? 설명
appid공식 계정의 고유 식별자입니다.
redirect_uri는 다음 이후에 리디렉션됩니다. 인증주소 부탁드려요 urlencode 쌍을 사용하십시오. 링크가 처리되었습니다.
response_type 반환 유형입니다. 코드를 입력하세요.
scope 애플리케이션 인증 범위, snsapi_base(인증 페이지가 팝업되지 않습니다. 직접 점프하면 사용자 openid만 알 수 있음), snsapi_userinfo (인증 페이지가 뜨고 openid를 통해 닉네임, 성별, 위치를 알 수 있음)게다가 사용자가 주의를 기울이지 않더라도 사용자가 승인하면 정보를 얻을 수 있습니다)
stateNo상태 매개변수는 리디렉션 후 포함되므로 개발자가 채울 수 있습니다. a-zA-Z0 매개변수 값 -9, 최대 128바이트
#wechat_redirect직접 열거나 302페이지 리디렉션을 하든 이 매개변수를 가져와야 합니다

아래 그림은 범위가 snsapi_userinfo와 같을 때 인증 페이지를 보여줍니다:

사용자가 인증에 동의한 후# 🎜🎜##🎜🎜 #
사용자가 승인에 동의하면 페이지가 리디렉션_uri/?code=CODE&state=STATE로 이동합니다.

코드 설명: 코드는 access_token 교환 티켓으로 사용됩니다. 각 사용자 인증과 함께 가져온 코드는 한 번만 사용할 수 있으며 그렇지 않으면 자동으로 만료됩니다. 5분간 사용.


2단계: 웹페이지 인증 access_token으로 코드 교환

우선, 여기 코드는 특별합니다. 웹페이지 인증 access_token은 기본 지원의 access_token과 다릅니다(이 access_token은 다른 인터페이스를 호출하는 데 사용됩니다). 공식 계정은 다음 인터페이스를 통해 웹페이지 인증 access_token을 얻을 수 있습니다. 웹 페이지 인증 범위가 snsapi_base인 경우 이 단계에서는 웹 페이지 인증 access_token을 획득하는 동안 openid도 획득하며 snsapi_base 스타일 웹 페이지 인증 프로세스는 여기서 끝납니다.

특별 참고 사항: 공용 계정의 비밀과 획득한 access_token은 보안 수준이 매우 높기 때문에 서버에만 저장해야 하며 서버로 전달될 수 없습니다. 고객. access_token을 새로 고치고 access_token을 통해 사용자 정보를 얻는 등의 후속 단계도 서버에서 시작해야 합니다.

요청 방법

코드를 획득한 후 다음 링크를 요청하여 access_token을 획득하세요: https://api.weixin.qq.com /sns/ oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

매개변수 설명

매개변수 가 필수인가요? Explanation
appid공식 계정
secret의 고유 식별자입니다. 네 공식 앱의 비밀 account
code Yes1단계에서 얻은 코드 매개변수를 입력하세요
grant_typeYesauthorization_code를 입력하세요

반환 지침

정확할 때 반환되는 JSON 데이터 패킷은 다음과 같습니다:

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid ": "OPENID",

"범위":"SCOPE" }

ParametersDescription
access_token웹 페이지 승인 인터페이스 호출 바우처, 참고: 이 access_token은 기본
expires_inaccess_token 인터페이스 호출 바우처 시간 초과에서 지원되는 access_token과 다릅니다. 단위 ( 초) )
refresh_tokenUser Refresh access_token
openid사용자의 고유 ID입니다. 공식 계정을 팔로우하지 않을 때, 공식 계정의 웹 페이지를 방문할 때 고유한 OpenID입니다. 사용자 및 공식 계정도 생성됩니다
scope사용자가 승인한 범위, 쉼표(,)로 구분됨

오류가 있는 경우 WeChat은 다음과 같이 JSON 데이터 패킷을 반환합니다(예: 잘못된 코드 오류):

{"errcode":40029,"errmsg":"invalid code"}

3단계: access_token 새로 고침(필요한 경우)

access_token의 유효 기간이 짧기 때문에 access_token 시간이 초과되면 Refresh_token을 사용하여 새로 고침할 수 있습니다. 승인하다.

요청 방법

두 번째 단계에서 Refresh_token을 획득한 후 다음 링크를 요청하여 access_token을 획득하세요:

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type =refresh_token&refresh_token=REFRESH_TOKEN


매개변수 가 필수인가요? 설명
appid공식 계정
grant_typeYes의 고유 식별자입니다. 새로고침_토큰을 입력하세요
refresh_token is access_token
을 통해 얻은 Refresh_token 매개변수를 입력하세요.

반환 지침

정확할 때 반환되는 JSON 데이터 패킷은 다음과 같습니다:

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"open id": "OPENID",

"scope":"SCOPE" }

ParametersDescription
access_token웹 페이지 승인 인터페이스 호출 바우처, 참고: 이 access_token은 기본
expires_inaccess_token 인터페이스 호출 바우처 시간 초과에서 지원되는 access_token과 다릅니다. 단위 ( 초) )
refresh_tokenUser Refresh access_token
openid사용자 고유 식별자
scope사용자 승인 범위, 쉼표(,)를 사용하여 구분

오류가 있는 경우 WeChat은 다음과 같이 JSON 데이터 패킷을 반환합니다(예: 잘못된 코드 오류):

{"errcode":40029,"errmsg":"invalid code"}

4단계: 사용자 정보 가져오기(범위는 snsapi_userinfo여야 함)

웹 페이지 인증 범위가 snsapi_userinfo인 경우 이제 개발자는 access_token 및 openid를 통해 사용자 정보를 가져올 수 있습니다.

요청 방법

http: GET(https 프로토콜을 사용하세요) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

Parameter description eterParameter eterParameter

description
Access_TokenWeb Page Authorization 인터페이스 호출 인증서, 참고 :이 Access_Token
lang국가 및 지역 언어 버전으로 돌아가기, zh_CN 단순화, zh_TW 전통, en 영어

반환 지침

정확할 때 반환되는 JSON 데이터 패킷은 다음과 같습니다.

{ "openid":" OPENID",

#🎜 🎜# "nickname": NICKNAME,

"sex":"1",

"province":"PROVINCE"

" city":"CITY",

"country":"COUNTRY",

"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5 WKSYVY0ChQKkia JSgQ1dZuTOgvLLrhJbERQQ #🎜🎜 #

4eMsv84eavHiaiceqxibJxCfHe/46",

"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],

"unionid": "o6_b sdsad6_2sgVt7hMZOPfL"

}

ParameterDescription
openid사용자의 고유 식별자
nickname사용자 별명
sex사용자의 성별, 값 1이면 남성이다. 값은 2 여성, 값이 0이면 알 수 없음
province사용자 프로필에 입력된 지방
city일반 사용자 프로필에 입력된 도시
country 국가, 예를 들어 중국은 CN
headimgurl사용자 아바타, 마지막 값은 정사각형 아바타 크기를 나타냅니다(0, 46, 64, 96, 132개의 값을 사용할 수 있으며, 0은 640을 나타냄). *640 정사각형 아바타), 사용자에게 아바타가 없는 경우 이 항목은 비어 있습니다. 사용자가 아바타를 변경하면 원래 아바타 URL은 유효하지 않게 됩니다.
privilege사용자 권한 정보, json 배열, 예: WeChat Woka 사용자는 (chinaunicom)
unionid이 필드는 사용자가 공식 계정을 WeChat 오픈 플랫폼 계정에 바인딩한 후에만 표시됩니다.

오류가 있는 경우 WeChat은 다음과 같이 JSON 데이터 패킷을 반환합니다(예: 잘못된 openid):

{"errcode":40003,"errmsg":"valid openid "}

첨부 파일 : 인증 자격 증명(access_token) 검증 유효한가요

요청 방법

http: GET(https 프로토콜을 사용하세요) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

Parameter Description eterParameter eterDescription

Access_Token반환 지침{ "errcode":0,"errmsg":"ok"} JSON 오류 발생 시 반환 예: { "errcode":40003 ,"errmsg":"잘못된 openid"}
Web 페이지 권한 부여 인터페이스 전화 인증서, 참고 :이 Access_Token
올바른 JSON 반환 결과:



핫 AI 도구
Undress AI Tool
Undress AI Tool

무료로 이미지를 벗다

AI Clothes Remover
AI Clothes Remover

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

Undresser.AI Undress
Undresser.AI Undress

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

Stock Market GPT
Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

인기 있는 도구
메모장++7.3.1
메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기
스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6
드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전
SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)