로그인

로우코드 개발 플랫폼의 SSO 반복 기록 - WEB에 내장된 미니 프로그램 로그인 및 PC측 WeChat 스캔 코드 로그인

작가:네오양 시간:2022/01/09 읽다: 9098
WeChat 애플릿은 WEB 로그인과 PC 측 WeChat 스캔 코드 로그인에 내장되어 있습니다. 어렵지는 않지만 BAAS 플랫폼과 저세대 […]를 포함하여 많은 수정이 필요합니다.

WeChat 애플릿에는 WEB 로그인과 PC 측 WeChat 코드 스캐닝 로그인이 포함되어 있는데 어렵지는 않지만 BAAS 플랫폼, 로우 코드 개발 플랫폼, WeChat 애플릿을 포함하여 많은 수정이 필요합니다. 특별히 메모해 보세요.

1. WeChat 애플릿에 웹 로그인이 내장되어 있습니다.

문제 해결: WeChat 미니 프로그램에 웹을 삽입하고 기본 미니 프로그램 로그인 버튼을 클릭하여 미니 프로그램 로그인을 실현합니다. 내장된 웹에도 동시에 로그인할 수 있는 방법은 무엇입니까?

아이디어:

1. WEB에 포함되어 있으며 작동하려면 로그인이 필요한 페이지의 경우.

이 페이지를 열 때 로그인되어 있는지 확인하세요. 로그인하지 않은 경우 기본 페이지가 표시되고 로그인 버튼이 나타납니다.

미니 프로그램이 로그인된 경우 내장된 WEB 페이지가 표시되고 URL을 통해 로그인 정보(토큰, 사용자 정보 포함)가 전달되며 WEB 페이지에서 매개변수를 수신한 후 JWT 검증 인터페이스로 토큰이 전송됩니다. 인증을 위해 BAAS 플랫폼의 인증을 통과하고(또한 인증이 필요하지 않음) 로그인 관련 프로세스를 수행합니다.

2. 로그인되어 있지 않은 경우 로그인 버튼을 클릭하여 미니프로그램에 로그인한 후 페이지를 새로고침하세요.

2. PC 미니프로그램의 QR코드를 스캔하여 로그인하세요.

아이디어:

1. PC에서 QR코드 생성

QR코드 생성 : PC에서 QR코드를 스캔하여 로그인에 필요한 미니프로그램 전용페이지 경로 뒤에 장면 매개변수를 추가합니다. 장면 매개변수는 무작위로 생성됩니다. 그런 다음 미니 프로그램 QR 코드 생성을 위한 BAAS 플랫폼의 특수 인터페이스를 호출하여 이 미니 프로그램의 URL을 미니 프로그램 QR 코드로 생성합니다.

QR 코드 저장: 생성된 QR 코드 URL을 로컬에 저장하며 1시간 동안 유효합니다.

QR 코드가 나타날 때: 로그인 모달이 열리면 기본 로그인 방법은 WeChat 코드를 스캔하여 로그인하는 것입니다. 로컬에 유효한 로그인 QR 코드가 있는지 확인하고, 없으면 생성하세요.

2. WeChat 코드를 스캔하고 로그인하세요.

QR 코드를 스캔하여 WeChat에 로그인하고, 장면 매개변수를 사용하여 미니 프로그램의 PC 측에 로그인하기 위한 QR 코드 스캔 전용 페이지를 엽니다.

로그인하려면 클릭하세요. 일반 로그인과 조금 다르며 장면 매개변수를 BAAS 플랫폼의 소형 프로그램 로그인 전용 인터페이스로 보내야 합니다.

BAAS 플랫폼은 작은 프로그램 로그인 인터페이스를 일부 수정했습니다. 최종 json 출력에 장면 매개변수를 추가하고 데이터를 출력하기 전에 redis에 출력할 로그인 데이터를 저장합니다(문자열로 변환한 다음 저장합니다).

미니 프로그램에 로그인하면 로그인 성공 메시지가 표시됩니다. 그리고 "미니 프로그램 종료" 버튼이 표시됩니다. 이 버튼을 클릭하면 미니 프로그램을 종료합니다. (이는 미니 프로그램이 종료되지 않고 다음에 QR 코드를 스캔하여 로그인할 때 "로그인" 버튼이 나타나는 것을 방지하기 위한 것입니다.)

3. PC에서 자동 로그인

PC에 로그인 QR 코드가 나타나면 전용 islogin 인터페이스를 폴링하기 시작하여 5초마다 한 번씩 폴링합니다(너무 빠르고 불필요함). 매개변수 장면 포함. 인터페이스가 false를 반환하면 5초 후에 다시 요청하고 반환이 false가 아닌 로그인 정보인 경우 폴링을 중지하고 로그인 정보에서 토큰을 가져와서 BAAS 플랫폼의 JWT 검증 인터페이스로 보내 검증을 통과한 후 확인하면 로그인 프로세스가 실행됩니다.

이 인터페이스는 이번 반복에서 새로 추가되었습니다. 장면을 기반으로 Redis에 해당 데이터가 있는지 확인합니다. 그렇지 않은 경우 false를 반환하고, 있는 경우 redis에서 해당 데이터를 가져와서 json으로 변환한 후 반환하고, 반환하기 전에 redis에서 해당 데이터를 삭제한다.



copyright © www.lyustu.com 판권 소유.
테마: TheMoon V3.0.저자:neo yang