1. Remplissez le nom de domaine de la page de rappel d'autorisation
Remplissez wx.alinq.org ici. Après avoir obtenu l'autorisation de l'utilisateur, il accédera à une page spécifiée par le développeur, et le lien vers la page doit être sous le nom de domaine. Si ce n'est pas rempli, une page avec des liens de pages invalides apparaîtra.
2. Guidez l'utilisateur vers la page d'autorisation désignée
Par exemple : https://open.weixin .qq .com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
Pour l'explication des paramètres, veuillez vous référer aux documents relatifs à WeChat. Il convient de noter que redirect_uri est une URL, qui doit être codée en URL. Après avoir généré l'URL, vous pouvez accéder à http://cli.im/text/2014052714?4QbdC pour générer un code QR pour l'URL, puis scanner. dans WeChat pour le tester.
Après numérisation :
3 Enfin, voici le code entièrement implémenté
Ci-dessous. est le code complet, j'espère qu'il sera utile à tout le monde. ^_^
<%@ WebHandler Language="C#" %> public class UserAuth : IHttpHandler { public void ProcessRequest(HttpContext context) { var appid = "wxf1c24c60e3ac13b7"; var secret = "5902b9817acb7a290d4b7c2e6e97d4d3"; var code = context.Request.QueryString["Code"]; if (string.IsNullOrEmpty(code)) { var url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2fwx.alinq.org%2fTest%2fUserAuth.ashx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect", appid); context.Response.Redirect(url); } else { var client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; var url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appid, secret, code); var data = client.DownloadString(url); var serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize<Dictionary<string, string>>(data); string accessToken; if (!obj.TryGetValue("access_token", out accessToken)) return; var opentid = obj["openid"]; url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", accessToken, opentid); data = client.DownloadString(url); var userInfo = serializer.Deserialize<Dictionary<string, object>>(data); foreach (var key in userInfo.Keys) { context.Response.Write(string.Format("{0}: {1}", key, userInfo[key]) + "<br/>"); } } } }
Pour plus de développement WeChat - pour obtenir les informations de base de l'utilisateur via autorisation, veuillez faire attention au site Web PHP chinois pour les articles connexes !