1. apikey, appsecret 및 판매자 계정 획득
공용 계정 및 판매자 계정 등록
2. 사용자의 OpenId 획득
1. [인증 콜백 페이지 도메인 이름]
을 설정합니다. 공식 설명: 사용자가 웹 인증 페이지에서 공식 계정 인증에 동의하면 WeChat은 인증 데이터를 콜백 페이지에 전달하고, 안전과 신뢰성을 보장하려면 콜백 페이지가 여기에 도메인 이름이어야 합니다. 콜백 페이지 도메인 이름은 IP 주소를 지원하지 않습니다.
2. 사용자 승인에 동의합니다
위챗 메뉴에 이 URL을 썼고, 이 페이지에 들어갈 때 사용자가 동의하도록 합니다. 참고: 자동으로 승인되는 것 같습니다. 사용자는 알 수 없습니다.
1.url:
https://open.weixin.qq.com/connect/oauth/authorize?appid= appid&redirect_uri=url&response_type =code&scope=snsapi_userinfo&state=park#wechat_redirect
매개변수: appid: 공식 계정의 고유 식별자
리디렉션_uri: 리디렉션된 URL, 즉 페이지 인증 후 리디렉션
범위: 애플리케이션 인증 범위
snsapi_base: 인증 페이지를 팝업하지 않고 직접 점프하며 사용자 openid만 가져올 수 있습니다.
snsapi_userinfo : 인증 페이지가 뜨며, openid를 통해 닉네임, 성별, 위치를 알 수 있습니다
상태: 리디렉션 후 매개변수
2. 사용자가 동의하면 코드가 생성되며 몇 분 동안만 유효합니다.
String code = request.getParameter("code")
3.openId용 코드
/** * 常量类 * @author rory.wu * */ public class Constants { // 第三方用户唯一凭证 public static String appid = ""; // 第三方用户唯一凭证密钥 public static String appsecret = ""; //商户ID public static String mch_id=""; //获取openId public static String oauth_url = "https://api.weixin.qq.com/sns/oauth/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code"; }
/** * 通用工具类 * @author rory.wu * @version . * @since 年月日 */ public class CommonUtil { private static Logger log = Logger.getLogger(CommonUtil.class); public static JSONObject httpsRequestToJsonObject(String requestUrl, String requestMethod, String outputStr) { JSONObject jsonObject = null; try { StringBuffer buffer = httpsRequest(requestUrl, requestMethod, outputStr); jsonObject = JSONObject.fromObject(buffer.toString()); } catch (ConnectException ce) { log.error("连接超时:"+ce.getMessage()); } catch (Exception e) { log.error("https请求异常:"+e.getMessage()); } return jsonObject; } private static StringBuffer httpsRequest(String requestUrl, String requestMethod, String output) throws NoSuchAlgorithmException, NoSuchProviderException, KeyManagementException, MalformedURLException, IOException, ProtocolException, UnsupportedEncodingException { URL url = new URL(requestUrl); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setUseCaches(false); connection.setRequestMethod(requestMethod); if (null != output) { OutputStream outputStream = connection.getOutputStream(); outputStream.write(output.getBytes("UTF-")); outputStream.close(); } // 从输入流读取返回内容 InputStream inputStream = connection.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; StringBuffer buffer = new StringBuffer(); while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); inputStream.close(); inputStream = null; connection.disconnect(); return buffer; } } /** * 获取用户的openId,并放入session * @param code 微信返回的code */ private void setOpenId(String code) { session.put("code", code); String oauth_url = Constants.oauth_url.replace("APPID", Constants.appid).replace("SECRET", Constants.appsecret).replace("CODE", String.valueOf(session.get("code"))); log.info("oauth_url:"+oauth_url); JSONObject jsonObject = CommonUtil.httpsRequestToJsonObject(oauth_url, "POST", null); log.info("jsonObject:"+jsonObject); Object errorCode = jsonObject.get("errcode"); if(errorCode != null) { log.info("code不合法"); }else{ String openId = jsonObject.getString("openid"); log.info("openId:"+openId); session.put("openId", openId); } } oauth_url返回的格式是: { "access_token":"ACCESS_TOKEN", "expires_in":, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE", "unionid": "o_bmasdasdsad_sgVthMZOPfL" } Code无效时: { "errcode": ,"errmsg":"invalid code" }
위 내용은 Script House에서 가져온 내용입니다. 편집자가 WeChat 공개 계정 결제를 위한 사용자 openId를 얻는 방법을 알려드리겠습니다. (1) 마음에 드셨으면 좋겠습니다.
위챗 공개계정 결제에 대한 자세한 내용은 (1) 사용자 openId 관련 글을 얻는 방법은 PHP 중국어 홈페이지를 참고해주세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

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

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
