찾다
위챗 애플릿미니 프로그램 개발미니 프로그램의 Unionid를 얻는 방법

미니 프로그램의 Unionid를 얻는 방법

Jun 10, 2020 am 11:41 AM
미니 프로그램

미니 프로그램의 Unionid를 얻는 방법

미니 프로그램의 유니온 ID는 어떻게 얻나요?

문제 배경: WeChat 애플릿을 만들었고 모든 것이 정상이었습니다. 하지만 최종 평가판이 출시되었을 때 많은 사용자가 사용자를 바인딩할 수 없고 배경이 잘못된 매개변수로 반환되는 것을 발견했습니다. 여러 번 조사한 결과 WeChat에서 얻은 코드 요청에서 반환된 데이터에 UnionId가 포함되지 않은 것으로 나타났습니다. 즉, 인터페이스에서 반환된 매개 변수에 UnionId 매개 변수가 포함되어 있지 않은 것으로 나타났습니다.

1. UnionID 메커니즘 설명

간단히 말해서, WeChat은 서로 다른 애플리케이션의 서로 다른 사용자에 대해 고유한 openId를 가지고 있습니다. 그러나 사용자가 동일한 사용자인지 확인하려면 Unionid를 사용하여 구별해야 합니다. 일반적으로 자신의 백엔드에는 자체 사용자 테이블이 있으며 각 사용자는 서로 다른 사용자 ID를 갖습니다. 즉, 동일한 WeChat 오픈 플랫폼 하에서 동일한 사용자의 동일한 주제에 대한 애플리케이션은 동일한 사용자 ID, Unionid 및 다른 openid에 해당합니다. 따라서 사용자가 로그인할 때 WeChat에서 반환한 Unionid만 사용하여 동일한 사용자인지 확인한 다음 이를 사용자 테이블과 연결하여 해당 user_id를 얻을 수 있습니다.

 참고: 다음 문장에 대한 설명: 사용자가 공식 계정을 팔로우했거나 앱 또는 공식 계정에 로그인한 경우 사용자가 미니 프로그램을 열 때 개발자는 wx.login을 통해 사용자의 UnionID를 직접 얻을 수 있습니다. . 즉, 사용자가 공식 계정을 팔로우하지 않았거나 앱에 로그인하지 않은 경우 사용자의 UnionID는 wx.login을 통해 얻을 수 없으며 UnionId는 wx.getUserInfo를 통해서만 얻을 수 있습니다. 시스템에 UnionId가 존재하지 않는 미니 프로그램 사용자는 모두 공식 계정을 팔로우하지 않았거나 앱에서 WeChat 인증을 사용하지 않은 사용자인 것으로 확인되었습니다

2. 문제 배경

 정상적인 상황에서( 즉, 미니 프로그램에 로그인하기 전에 이미 팔로우한 경우(공식 계정에 로그인했거나 WeChat 로그인을 사용하여 앱에 로그인한 경우) 사용자는 다음 두 단계를 통해 웹사이트에 성공적으로 로그인할 수 있습니다. (1) wx.login 코드를 얻기 위해 (2) 코드를 통해 백엔드를 요청하고, 백엔드에서 openid, session_key 등의 정보를 교환하는 데 WeChat API가 사용되며 Unionid를 얻을 수 있습니다

또 다른 상황 (즉, 미니 프로그램에 로그인하기 전, 공식 계정을 팔로우하지도 않았고, 공식 계정에 로그인하지도 않았으며, WeChat을 사용하여 로그인하지도 않았습니다. wx.login을 통해 앱에 로그인한 경우, 다음을 통해 얻은 코드입니다. wx.login은 Unionid, openid 등의 정보와 교환될 수 없습니다.

3. 해결 방법:

  미니 프로그램의 UnionId를 얻으려면 wx.getUserInfo의 UnionId를 사용해야 합니다. wx.getUserInfo는 사용자 인증이 필요합니다. 제품의 경우 사용자가 인증을 거부하는 처리 흐름을 고려해야 합니다.

 wx.getUserInfo를 획득한 후 데이터를 복호화하는 방법은 공식 문서를 참조하세요.

솔루션 아이디어: 로그인 상태와 함께 wx.getUserInfo를 통해 사용자의 암호화된 데이터 cryptoData와 암호화 알고리즘의 초기 벡터 iv를 얻은 다음 encryptdata, iv 및 코드를 백엔드에 전달하고 백엔드는 수신된 암호화된 데이터를 전달합니다. iv는 사용자의 openid, Unionid 등을 해독하기 위해 코드와 이전 session_key를 사용합니다. 암호화된 데이터 암호 해독 알고리즘

관련 권장 사항: 미니 프로그램 튜토리얼

위 내용은 미니 프로그램의 Unionid를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.