백엔드 개발 PHP 튜토리얼 微信OAuth2.0网页受权php示例

微信OAuth2.0网页受权php示例

Jun 13, 2016 am 11:45 AM
curl token

微信OAuth2.0网页授权php示例

1、配置授权回调页面域名,如 www.aaa.com

?

2、模拟公众号的第三方网页,fn_system.php

<?phpif(empty($_SESSION['user'])){		header("Location:http://www.aaa.net/uc/fn_wx_login.php");}else{	print_r($_SESSION['user']);}?>
로그인 후 복사

?

3、访问第三方网页时,如果检查session中不存在会话信息,则跳转至登陆页,fn_wx_login.php

<?php	$appid = "公众号在微信的appid";	$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3a%2f%2fwww.aaa.com%2fuc%2ffn_callback.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';	header("Location:".$url);?>
로그인 후 복사

?

4、在登陆页组装appid,回跳url等信息,然后跳转至微信的用户授权页。

?

5、在微信的用户授权页,如果用户选择了“同意授权”,则微信重新回跳至第三方网页的回跳地址时,会附带上code参数。

?

6、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。

<?php$appid = "公众号在微信的appid";$secret = "公众号在微信的app secret";$code = $_GET["code"];$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$get_token_url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);$res = curl_exec($ch);curl_close($ch);$json_obj = json_decode($res,true);//根据openid和access_token查询用户信息$access_token = $json_obj['access_token'];$openid = $json_obj['openid'];$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$get_user_info_url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);$res = curl_exec($ch);curl_close($ch);//解析json$user_obj = json_decode($res,true);$_SESSION['user'] = $user_obj;print_r($user_obj);?>
로그인 후 복사

?

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Python에서 CURL과 Python 요청 간의 상호 변환을 실현하는 방법 Python에서 CURL과 Python 요청 간의 상호 변환을 실현하는 방법 May 03, 2023 pm 12:49 PM

컬과 Pythonrequests는 모두 HTTP 요청을 보내는 강력한 도구입니다. 컬은 터미널에서 직접 요청을 보낼 수 있는 명령줄 도구인 반면, Python의 요청 라이브러리는 Python 코드에서 요청을 보내는 보다 프로그래밍적인 방법을 제공합니다. 컬을 Pythonrequestscurl 명령으로 변환하는 기본 구문은 다음과 같습니다. 컬[OPTIONS]URL 컬 명령을 Python 요청으로 변환할 때 옵션과 URL을 Python 코드로 변환해야 합니다. 다음은 컬POST 명령의 예입니다: 컬-XPOST https://example.com/api

Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Linux에서 컬 버전을 업데이트하는 방법에 대한 튜토리얼입니다! Mar 07, 2024 am 08:30 AM

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

PHP8.1 출시: 여러 요청을 동시에 처리하기 위한 컬(curl) 도입 PHP8.1 출시: 여러 요청을 동시에 처리하기 위한 컬(curl) 도입 Jul 08, 2023 pm 09:13 PM

PHP8.1 출시: 여러 요청의 동시 처리를 위한 컬 소개 최근 PHP는 여러 요청의 동시 처리를 위한 컬이라는 중요한 기능을 도입한 최신 버전의 PHP8.1을 공식 출시했습니다. 이 새로운 기능은 개발자에게 여러 HTTP 요청을 처리하는 보다 효율적이고 유연한 방법을 제공하여 성능과 사용자 경험을 크게 향상시킵니다. 이전 버전에서는 여러 요청을 처리하려면 여러 컬 리소스를 만들고 루프를 사용하여 각각 데이터를 보내고 받아야 하는 경우가 많았습니다. 이 방법으로 목적을 달성할 수는 있지만

처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 처음부터 끝까지: PHP 확장 cURL을 사용하여 HTTP 요청을 만드는 방법 Jul 29, 2023 pm 05:07 PM

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

로그인 토큰이 유효하지 않은 경우 수행할 작업 로그인 토큰이 유효하지 않은 경우 수행할 작업 Sep 14, 2023 am 11:33 AM

유효하지 않은 로그인 토큰에 대한 해결 방법에는 토큰 만료 여부 확인, 토큰이 올바른지 확인, 토큰 변조 여부 확인, 토큰이 사용자와 일치하는지 확인, 캐시 또는 쿠키 지우기, 네트워크 연결 및 서버 상태 확인이 포함됩니다. , 다시 로그인하거나 새로운 토큰을 요청하려면 기술 지원팀이나 개발자에게 문의하세요. 자세한 소개: 1. 토큰이 만료되었는지 확인하세요. 일반적으로 로그인 토큰에는 유효 기간이 설정되어 있습니다. 유효 기간이 초과되면 유효하지 않은 것으로 간주됩니다.

잘못된 로그인 토큰 문제를 해결하는 방법 잘못된 로그인 토큰 문제를 해결하는 방법 Sep 14, 2023 am 10:57 AM

유효하지 않은 로그인 토큰 문제는 네트워크 연결 확인, 토큰 유효 기간 확인, 캐시 및 쿠키 삭제, 로그인 상태 확인, 애플리케이션 개발자 문의 및 계정 보안 강화를 통해 해결할 수 있습니다. 자세한 소개: 1. 네트워크 연결을 확인하고 네트워크에 다시 연결하거나 네트워크 환경을 변경합니다. 2. 토큰 유효 기간을 확인하고 새 토큰을 얻거나 애플리케이션 개발자에게 문의합니다. 3. 캐시 및 쿠키를 지우고 브라우저를 지웁니다. 캐시 및 쿠키를 확인한 후 다시 애플리케이션에 로그인하세요. 4. 로그인 상태를 확인하세요.

PHP Curl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? PHP Curl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? Mar 08, 2024 am 11:36 AM

PHPCurl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? PHPCurl을 사용하여 네트워크 요청을 보낼 때 웹 페이지에서 반환된 301 상태 코드를 자주 접하게 되는데, 이는 페이지가 영구적으로 리디렉션되었음을 나타냅니다. 이 상황을 올바르게 처리하려면 Curl 요청에 몇 가지 특정 옵션과 처리 논리를 추가해야 합니다. 다음은 PHPCurl에서 웹페이지의 301 리디렉션을 처리하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 301 리디렉션 처리 원칙 301 리디렉션은 서버가 30을 반환한다는 의미입니다.

Redis에서 사용자 토큰 저장 문제를 해결하는 방법 Redis에서 사용자 토큰 저장 문제를 해결하는 방법 May 31, 2023 am 08:06 AM

Redis는 사용자 토큰을 저장합니다. 전자 상거래와 유사한 시스템을 설계할 때 일반적인 요구 사항은 각 페이지에 로그인된 사용자 정보를 전달해야 한다는 것입니다. 두 가지 일반적인 솔루션이 있습니다. 쿠키를 사용하여 저장하는 것과 JWT를 사용하여 저장하는 것입니다. 그러나 Redis 캐시가 시스템에서 사용되는 경우 Redis에서 사용자 토큰을 캐싱하는 세 번째 솔루션도 있습니다. 로그인 시 토큰을 생성하여 Redis에 저장 //토큰 객체를 생성하여 redis에 저장 redisTemplate.opsForHash().put("token","user",user)

See all articles