Maison Applet WeChat Développement WeChat Explication détaillée de l'utilisation du développement .NET WeChat sur PC pour implémenter les fonctions d'enregistrement et de connexion par scan code

Explication détaillée de l'utilisation du développement .NET WeChat sur PC pour implémenter les fonctions d'enregistrement et de connexion par scan code

Apr 26, 2017 pm 02:51 PM
pc

Cet article présente principalement les informations pertinentes sur la mise en œuvre de la fonction d'enregistrement et de connexion par analyse de code WeChat côté PC développée par .NET WeChat. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

1. Avant-propos

Permettez-moi d'abord de préciser que cet article se concentre principalement sur l'idée de mise en œuvre. pour montrer l'idée. S'il existe des exigences strictes en matière d'efficacité du code, ne copiez pas les éléments.


Je crois que quiconque a fait du développement WeChat a fait beaucoup d'autorisations, mais d'une manière générale, nous faisons plus d'autorisations pour les sites Web mobiles, pour être précis, nous le faisons sous une autorisation WeChat. Un problème que j'ai rencontré aujourd'hui est que le projet prend en charge WeChat et PC et que les inscriptions sont ouvertes. Il est nécessaire qu'après vous être inscrit côté PC ou côté WeChat, vous puissiez vous connecter de l'autre côté. En d'autres termes, qu'il s'agisse d'un PC ou de WeChat, « vous êtes vous » (pertinent d'une certaine manière).


2. À la recherche de solutions

En y pensant de manière traditionnelle, WeChat peut s'inscrire complètement par autorisation , mais côté PC, la méthode traditionnelle ne consiste qu'à renseigner son numéro de téléphone portable, ou son email, etc. Si vous vous inscrivez de cette manière, les problèmes suivants surviendront


1. J'autorise d'abord l'inscription sur WeChat, puis si je veux me connecter au PC, je dois quand même m'inscrire.


La solution à ce problème peut être la suivante : une fois que WeChat a autorisé l'enregistrement, il "oblige" les utilisateurs à remplir des informations de base, telles que le numéro de téléphone portable et l'adresse e-mail. De cette façon, nous pouvons générer le compte et le mot de passe permettant à l'utilisateur de se connecter au PC d'une manière ou d'une autre, par exemple, utiliser le surnom de l'utilisateur comme numéro de compte, le numéro de téléphone portable comme mot de passe, etc.


Inconvénients : l'expérience utilisateur n'est pas bonne et il existe des risques de sécurité. Après tout, votre pseudo WeChat, votre adresse e-mail ou votre numéro de téléphone portable sont tous exposés.


2. Si je m'inscris d'abord sur le PC, comment puis-je associer la version mobile lors de l'autorisation de WeChat


Bien sûr, il y a toujours une solution à chaque problème ? . L'idée est la suivante :


Option 1 : Une fois l'utilisateur inscrit sur le PC, il est « forcé » que l'utilisateur doive renseigner le pseudo WeChat. Utilisez-le comme condition d'association lors de l'autorisation de WeChat. Mais malheureusement, le pseudo WeChat peut être modifié. Comment peut-il être utilisé à des fins d'association s'il n'est pas le seul ? Le plan est mort d’un seul coup.

Option 2 : Après autorisation côté WeChat et inscription côté PC, les utilisateurs sont "obligés" de renseigner leur numéro de téléphone portable en guise de lien. Cela crée un problème. Nous devons nous assurer que le téléphone mobile de l’utilisateur est authentique. Ceci peut être réalisé grâce au code de vérification du téléphone mobile (il en va de même pour le courrier électronique). Mais supposons la situation suivante. Si j'ai deux numéros de téléphone portable, remplissez-en un lors de votre inscription sur PC et remplissez l'autre lors de votre inscription sur WeChat. Est-ce lié ? La réponse est malheureusement. De plus, après m'être inscrit côté PC, je ne l'ai pas rempli (raison pour laquelle j'ai forcé les guillemets doubles), puis j'ai utilisé le côté WeChat pour autoriser et me connecter. Eh bien, à ce stade, deux éléments de données attendront que vous trouviez un moyen de les corréler, ce qui correspond à un développeur typique creusant son propre trou. Cette approche fonctionne dans une certaine mesure, mais sa rigueur est inacceptable pour les développeurs.


3. Solution pour revenir à l'origine

Analyse : Puisque les solutions ci-dessus ont des problèmes, commençons par Elles sont tous mis de côté. Pour mettre de l’ordre dans nos réflexions, revenons à la racine du problème. La question associée nécessite un identifiant unique. L'identifiant unique est tout comme notre numéro de carte d'identité. Lorsque nous demandons une carte de crédit, une carte d'identité est requise. Lors de l'achat d'une carte numérique sous le système du nom réel, une carte d'identité est requise. En supposant que nous soyons l'administrateur système, je peux certainement connaître votre numéro de téléphone portable et votre numéro de carte bancaire grâce à votre numéro de carte d'identité.


Après avoir eu l'idée ci-dessus, ce que nous devons faire est de trouver un identifiant unique en tant qu'association. Il y a un rôle important dans WeChat : openid. Il a la même fonction que le numéro de carte d’identité mentionné ci-dessus. Le compte WeChat identifie de manière unique un certain compte public.


Quiconque a développé WeChat ne devrait avoir aucun problème à obtenir l'autorisation WeChat d'openid. La question est de savoir comment implémenter le côté PC pour obtenir l'openid lors de l'inscription ou de la connexion. Les idées de mise en œuvre de l'auteur sont les suivantes. Inscrivez-vous sur PC, ou lors de la connexion, un code QR s'affichera pour guider les utilisateurs à scanner le code à l'aide de WeChat pour accéder à la page d'autorisation. Il y a un détail très critique dans cette étape. Veuillez apporter un code d'autorisation unique (authCode) avec le code QR. Imaginez que si l'utilisateur nous l'autorise, nous pouvons écrire l'openid et l'authCode dans la base de données. Ensuite, nous pouvons obtenir l'openid associé à authCode via une API côté PC. Si nous faisons cela, nous pouvons savoir qui scanne actuellement le code QR pour s'inscrire ou se connecter sur le PC (inscrivez-vous si vous n'êtes pas inscrit, connectez-vous directement si vous êtes inscrit). Est-ce que cela vous a soudainement semblé si facile ? Si vous pensez que le texte est plus abstrait, veuillez regarder l'icône ci-dessous


Processus de connexion au code de numérisation PC WeChat

Core Code

Après avoir clarifié les idées et les processus, passons directement au code. Les idées de développement sont communes, alors veuillez montrer vos talents dans le langage de développement.

Remarque : le code suivant utilise le langage C# comme exemple, en utilisant MVC + EF (Remarque : uuid est équivalent à notre authCode mentionné ci-dessus)

Scannez le code QR pour vous connecter Le code backend de la page

public ActionResult Login()
{
//如果已登录,直接跳转到首页
if (User.Identity.IsAuthenticated)
return RedirectToAction("Index", "Home");
string url = Request.Url.Host;
string uuid = Guid.NewGuid().ToString();
ViewBag.url = "http://" + url + "/home/loginfor?uuid=" + uuid;//构造授权链接
ViewBag.uuid = uuid;//保存 uuid
return View();
}
Copier après la connexion

utilise le plug-in jquery.qrcode.js pour générer le code QR. Amis qui souhaitent en savoir plus, n'hésitez pas à y aller. sur Github. Une chose à noter ici est que le plug-in peut spécifier la méthode de génération de code QR, le canevas ou le tableau. Amis qui doivent prendre en charge IE, veuillez spécifier d'utiliser un tableau pour générer

Le code est tel. suit :

jQuery('#qrcode').qrcode({
render : "table",
text : "http://baidu.com"
});
Copier après la connexion

Retour au sujet, le code principal de la page de connexion est le suivant

<!--生成二维码的容器 p-->
<p id="qrcode-container">
</p>
<script src="~/Plugins/Jquery/jquery-1.9.1.min.js"></script>
<script src="~/Plugins/jquery-qrcode/jquery.qrcode.min.js"></script>
<script>
jQuery(function () {
//生成二维码
jQuery(&#39;#qrcode-container&#39;).qrcode("@ViewBag.url");
//轮询判断用户是否授权
var interval = setInterval(function () {
$.post("@Url.Action("UserLogin","Home")", { "uuid": "@ViewBag.uuid" }, function (data, status) {
if ("success" == status) {
//用户成功授权=>跳转
if ("success" == data) {
window.location.href = &#39;@Url.Action("Index", "Home")&#39;;
clearInterval(interval);
}
}
});
}, 200);
})
</script>
Copier après la connexion

Sondage pour déterminer si l'utilisateur autorise le code API

public string UserLogin(string uuid)
{
//验证参数是否合法
if (string.IsNullOrEmpty(uuid))
return "param_error";
WX_UserRecord user = db.WX_UserRecord.Where(u => u.uuId == uuid).FirstOrDefault();
if (user == null)
return "not_authcode";
//写入cookie
FormsAuthentication.SetAuthCookie(user.OpenId, false);
//清空uuid
user.uuId = null;
db.SaveChanges();
return "success";
}
Copier après la connexion

Action d'autorisation WeChat

public ActionResult Loginfor(string uuid)
{
#region 获取基本信息 - snsapi_userinfo
/*
* 创建微信通用类 - 这里代码比较复杂不在这里贴出
* 迟点我会将整个 Demo 稍微整理放上 Github
*/
WechatUserContext wxcontext = new WechatUserContext(System.Web.HttpContext.Current, uuid);
//使用微信通用类获取用户基本信息
wxcontext.GetUserInfo();
if (!string.IsNullOrEmpty(wxcontext.openid))
{
uuid = Request["state"];
//判断数据库是否存在
WX_UserRecord user = db.WX_UserRecord.Where(u => u.OpenId == wxcontext.openid).FirstOrDefault();
if (null == user)
{
user = new WX_UserRecord();
user.OpenId = wxcontext.openid;
user.City = wxcontext.city;
user.Country = wxcontext.country;
user.CreateTime = DateTime.Now;
user.HeadImgUrl = wxcontext.headimgurl;
user.Nickname = wxcontext.nickname;
user.Province = wxcontext.province;
user.Sex = wxcontext.sex;
user.Unionid = wxcontext.unionid; 
user.uuId = uuid;
db.WX_UserRecord.Add(user);
}
user.uuId = uuid;
db.SaveChanges();
}
#endregion
return View();
}
Copier après la connexion

Enfin, attachez la conception de la table de base de données

Il n'y a rien de spécial, juste ajoutez un uuId personnalisé supplémentaire à chaque paramètre renvoyé par WeChat

Pour plus de détails sur la description du paramètre WeChat, veuillez consulter la documentation du développeur WeChat

Résultats de fonctionnement

1 .Scannez le code QR pour vous connecter à la page

2. autorisation de l'utilisateur

3. Confirmation de l'utilisateur Autorisation

4. >

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réparer l'erreur temporairement pleine du point d'accès sur un PC Windows Comment réparer l'erreur temporairement pleine du point d'accès sur un PC Windows Mar 16, 2024 pm 03:19 PM

Si vous rencontrez l'erreur « Le point d'accès est temporairement plein » lors de la connexion à un routeur Wi-Fi ou à un point d'accès mobile sur votre PC Windows 11/10, cela est généralement dû à une surcharge du réseau ou à un trop grand nombre d'appareils connectés. Afin de résoudre ce problème et de vous connecter avec succès à Internet, vous pouvez essayer les méthodes suivantes : 1. Attendez un moment que les autres appareils se déconnectent avant d'essayer de vous reconnecter. 2. Redémarrez votre routeur Wi-Fi ou votre point d'accès mobile pour vider le cache réseau et réattribuer l'adresse IP. 3. Assurez-vous que le pilote de l'adaptateur Wi-Fi de votre PC est à jour, recherchez les mises à jour via le Gestionnaire de périphériques. 4. Essayez de vous connecter à des heures différentes. Éviter les heures de pointe peut offrir de meilleures opportunités de connexion. 5. Pensez à ajouter AccessP

Que signifie PC en termes Internet ? Que signifie PC en termes Internet ? Aug 10, 2023 pm 04:34 PM

PC est une abréviation courante qui signifie « ordinateur personnel ». Un ordinateur personnel est un appareil informatique omniprésent qui peut être utilisé pour traiter et stocker des données, exécuter des logiciels et se connecter à Internet. À l’ère de la numérisation et de l’information, l’ordinateur personnel n’est pas seulement un outil, mais aussi une fenêtre pour se connecter au monde. C’est également un outil important permettant aux individus d’acquérir des connaissances, d’enrichir leur vie et de se développer personnellement.

Le PC Windows continue de démarrer dans le BIOS [Réparer] Le PC Windows continue de démarrer dans le BIOS [Réparer] Mar 11, 2024 am 09:40 AM

Si votre PC Windows entre fréquemment dans l'interface du BIOS, cela peut entraîner des difficultés d'utilisation. Je suis bloqué avec l'écran du BIOS à chaque fois que j'allume mon ordinateur et le redémarrage n'aide pas. Si vous êtes confronté à ce problème, les solutions proposées dans cet article vous aideront. Pourquoi mon ordinateur continue-t-il de démarrer dans le BIOS ? Les redémarrages fréquents de votre ordinateur en mode BIOS peuvent être provoqués par diverses raisons, telles que des paramètres de séquence de démarrage incorrects, des câbles SATA endommagés, des connexions desserrées, des erreurs de configuration du BIOS ou des pannes de disque dur, etc. Réparer le PC Windows continue de démarrer dans le BIOS Si votre PC Windows continue de démarrer dans le BIOS, utilisez le correctif ci-dessous. Vérifiez votre ordre de démarrage et rebranchez le

Comment utiliser Samsung Flow sur un PC Windows Comment utiliser Samsung Flow sur un PC Windows Feb 19, 2024 pm 07:54 PM

SamsungFlow est un outil pratique et pratique qui vous permet de connecter facilement votre téléphone Galaxy à votre PC Windows. Avec SamsungFlow, vous pouvez facilement partager du contenu entre appareils, synchroniser les notifications, mettre en miroir les smartphones, et bien plus encore. Cet article explique comment utiliser SamsungFlow sur un ordinateur Windows. Comment utiliser le streaming sur smartphone sur un PC Windows Pour utiliser SamsungFlow pour connecter votre PC Windows et votre téléphone Galaxy, vous devez vous assurer que vos smartphones et tablettes Galaxy exécutent Android 7.0 ou supérieur et que votre PC Windows exécute Windows 10 ou supérieur.

Comment télécharger tous les fichiers OneDrive sur PC en même temps Comment télécharger tous les fichiers OneDrive sur PC en même temps Feb 19, 2024 pm 06:51 PM

Cet article vous apprendra comment télécharger tous les fichiers OneDrive sur votre PC en même temps. OneDrive est une puissante plate-forme de stockage cloud qui permet aux utilisateurs d'accéder à leurs fichiers à tout moment et en tout lieu. Parfois, les utilisateurs peuvent avoir besoin de sauvegarder des fichiers localement ou d'y accéder hors ligne. Lisez la suite pour savoir comment procéder facilement. Comment télécharger tous les fichiers OneDrive sur PC en même temps ? Suivez ces étapes pour télécharger tous les fichiers OneDrive sur votre PC Windows en même temps : Lancez Onedrive et accédez à Mes fichiers. Tous les fichiers téléchargés sur OneDrive seront disponibles ici. Appuyez sur CTRL+A pour sélectionner tous les fichiers ou cochez la case pour basculer la sélection de tous les éléments. Cliquez sur l'option de téléchargement en haut,

Les aventures d'un hébergeur Chrome low-cost : il ne peut pas installer Black Apple, mais il peut être considéré comme un PC qualifié Les aventures d'un hébergeur Chrome low-cost : il ne peut pas installer Black Apple, mais il peut être considéré comme un PC qualifié Jul 11, 2024 pm 04:38 PM

En parlant de cela, nous avons produit de nombreux numéros de la série indésirable étrangère, mais avant cela, la plupart d'entre eux étaient des téléphones portables et des PC assemblés. Le premier a une jouabilité moyenne, tandis que le second est plein d'incertitudes. Par exemple, l'ordinateur que nous avons dépensé 300 $ pour installer la dernière fois est maintenant entré dans un état de suppression non-stop des pilotes. Cependant, « ramasser les chiffons » est ce dont il s'agit, et la coexistence des risques et des avantages est la norme. Par exemple, cette fois, j'ai "récupéré" l'ASUS ChromeBox. Je voulais à l'origine en faire un Macmini (faux), mais j'ai rencontré de nombreux problèmes inattendus au cours du processus et je n'ai pas réussi à atteindre l'objectif visé. En fin de compte, j'ai dû me contenter de la meilleure solution et choisir de flasher Windows dessus. Même si la tentative de noircir les pommes est tombée à la dernière étape, j'ai eu beaucoup de plaisir tout au long du processus. Et comme

L'ordinateur pour lequel j'ai dépensé 300 yuans a fonctionné avec succès grâce au grand modèle local L'ordinateur pour lequel j'ai dépensé 300 yuans a fonctionné avec succès grâce au grand modèle local Apr 12, 2024 am 08:07 AM

Si 2023 est reconnue comme la première année de l’IA, alors 2024 sera probablement une année clé pour la vulgarisation des grands modèles d’IA. Au cours de l'année écoulée, un grand nombre de grands modèles d'IA et un grand nombre d'applications d'IA ont vu le jour. Des fabricants tels que Meta et Google ont également commencé à lancer au public leurs propres grands modèles en ligne/locals, similaires à « l'intelligence artificielle de l'IA ». " C'est hors de portée. Le concept est soudainement venu aux gens. De nos jours, les gens sont de plus en plus exposés à l'intelligence artificielle dans leur vie. Si vous regardez attentivement, vous constaterez que presque toutes les différentes applications d'IA auxquelles vous avez accès sont déployées sur le « cloud ». Si vous souhaitez construire un appareil capable d'exécuter de grands modèles localement, alors le matériel est un tout nouvel AIPC au prix de plus de 5 000 yuans.

Windows 11 Lite : qu'est-ce que c'est et comment l'installer sur votre PC Windows 11 Lite : qu'est-ce que c'est et comment l'installer sur votre PC Apr 14, 2023 pm 11:19 PM

Nous savons que Microsoft Windows 11 est un système d’exploitation complet et au design attrayant. Cependant, les utilisateurs demandent la version Windows 11 Lite. Bien qu’il propose des améliorations significatives, Windows 11 est un système d’exploitation gourmand en ressources qui peut rapidement encombrer les anciennes machines au point de ne plus pouvoir fonctionner correctement. Cet article répondra aux questions les plus fréquemment posées pour savoir s'il existe une version de Windows 11 Lite et si son téléchargement est sécurisé. Suivre! Existe-t-il une version Windows 11 Lite ? La version Windows 11 Lite 21H2 dont nous parlons a été développée par Neelkalpa T

See all articles