이 글은 주로 C#위챗 개발 관련 내용 서비스 서버 구성을 소개하고 있으니 관심 있는 분들은 참고하시기 바랍니다
편집자는 WeChat 개발에 많은 관심을 가지고 있으며 인터넷에서 관련 기사를 검토하여 모두가 함께 배울 수 있도록 정리했습니다.1. 계정 등록 -
https://mp.weixin.qq.com/ WeChat에서 입력하세요. 공개 플랫폼 계정 등록
서비스 계정은 회사에서 적용한 WeChat 공개 계정이며, 구독 계정은 개인이 적용하며 개인 권한이 적습니다. 로그인 후; 위챗 공개 플랫폼 공식 홈페이지, 공개 플랫폼 백엔드 관리 페이지로 이동 - 개발자 센터 페이지에서 "구성 수정"버튼을 클릭하고, 서버 주소(URL), 토큰 입력 EncodingAES 키 , 여기서 URL은 개발자가 WeChat 메시지와 이벤트의 인터페이스URL을 수신하는 데 사용됩니다. 토큰은 개발자가 작성하고 서명을 생성하는 데 사용할 수 있습니다(토큰은 보안을 확인하기 위해 인터페이스 URL에 포함된 토큰과 비교됩니다). EncodingAESKey는 개발자가 수동으로 입력하거나 임의로 생성되며 메시지 본문 암호화 및 암호 해독 키로 사용됩니다.
동시에 개발자는 일반 텍스트모드 , 호환 모드 및 보안 모드 등 메시지 암호화 및 복호화 방법을 선택할 수 있습니다. 모드 선택 및 서버 구성은 제출 후 즉시 적용됩니다. 개발자는 신중하게 작성하고 선택하는 것이 좋습니다. 암호화 및 복호화 방법의 기본 상태는 일반 텍스트 모드입니다. 호환 모드 및 보안 모드를 선택하려면 관련 암호화 및 복호화 코드를 미리 구성해야 합니다. 자세한 내용은 메시지 본문 서명의 설명서를 참조하세요. 암호화 및 암호 해독 섹션.
URL은 포트 80이어야 하며 서버에만 있어야 합니다! ! !
2. URL이 유효한지 확인하세요
private string Token = ConfigurationManager.AppSettings["Token"]; [HttpGet] [ActionName("Index")] public ActionResult Get(string signature, string timestamp, string nonce, string echostr) { if (CheckSignature.Check(signature, timestamp, nonce, Token)) { return Content(echostr);//返回随机字符串则表示验证通过 } else { return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, Token) + "。如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。"); } } /// <summary> /// 检查签名是否正确 /// </summary> /// <param name="signature"></param> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static bool Check(string signature, string timestamp, string nonce, string token = null) { return signature == GetSignature(timestamp, nonce, token); } /// <summary> /// 返回正确的签名 /// </summary> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static string GetSignature(string timestamp, string nonce, string token = null) { token = token ?? Token; var arr = new[] { token, timestamp, nonce }.OrderBy(z => z).ToArray(); var arrString = string.Join("", arr); //var enText = FormsAuthentication.HashPasswordForStoringInConfigFile(arrString, "SHA1");//使用System.Web.Security程序集 var sha1 = System.Security.Cryptography.SHA1.Create(); var sha1Arr = sha1.ComputeHash(Encoding.UTF8.GetBytes(arrString)); StringBuilder enText = new StringBuilder(); foreach (var b in sha1Arr) { enText.AppendFormat("{0:x2}", b); } return enText.ToString(); }
위 내용은 C# WeChat 개발 서버 구성 지침 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!