1. Geben Sie den Domänennamen der Autorisierungsrückrufseite ein.
Geben Sie hier wx.alinq.org ein. Nach Erhalt der Autorisierung des Benutzers wird zu einer vom Entwickler angegebenen Seite gesprungen, und der Link zur Seite muss sich unter dem Domänennamen befinden. Wenn das Feld nicht ausgefüllt ist, wird eine Seite mit ungültigen Seitenlinks angezeigt.
2. Leiten Sie den Benutzer zur angegebenen Autorisierungsseite
Zum Beispiel: https://open.weixin .qq .com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
Eine Erläuterung der Parameter finden Sie in den WeChat-bezogenen Dokumenten. Es ist erwähnenswert, dass „redirect_uri“ eine URL ist, die url-codiert sein muss. Nach dem Generieren der URL können Sie zu http://cli.im/text/2014052714?4QbdC gehen, um einen QR-Code für die URL zu generieren, und dann scannen es in WeChat, um es zu testen.
Nach dem Scannen:
3. Zum Schluss ist hier der vollständig implementierte Code
Unten ist der vollständige Code, ich hoffe, er ist für alle nützlich. ^_^
<%@ 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/>"); } } } }
Für weitere WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung – beachten Sie bitte die PHP-Chinese-Website für verwandte Artikel!