Maison Applet WeChat Développement de mini-programmes L'applet WeChat obtient le partage de code de numéro de téléphone mobile de l'utilisateur

L'applet WeChat obtient le partage de code de numéro de téléphone mobile de l'utilisateur

May 19, 2018 pm 03:39 PM
代码 小程序 手机号

Cet article présente principalement en détail comment l'applet WeChat obtient le numéro de téléphone portable de l'utilisateur. Elle a une certaine valeur de référence. J'espère que cela pourra aider tout le monde.

Je travaille actuellement sur une applet WeChat, qui nécessite l'obtention du numéro de téléphone portable de l'utilisateur. Les étapes spécifiques sont les suivantes :

Organigramme :

<.>

1. Tout d'abord, le client appelle wx.login et les données de rappel contiennent du jscode, qui est utilisé pour obtenir l'openid (identification unique de l'utilisateur) et la sessionkey (clé de session).

2. Après avoir obtenu le jscode, envoyez-le au serveur. Le serveur l'utilise pour interagir avec le serveur WeChat afin d'obtenir l'openid et la clé de session. La méthode d'acquisition spécifique est la suivante :

(1) Vous devez écrire une classe d'outils HttpUrlConnection :

public class MyHttpUrlConnection { 
 private final int mTimeout = 10000; // 超时时间 
 /** 
 * get访问 
 */ 
 public String[] requestJson(String url) { 
 return request(url); 
 } 
 private String[] request(String connurl) { 
 String[] resultStr = new String[]{"", ""}; 
 StringBuilder resultData = new StringBuilder(""); 
 HttpURLConnection conn = null; 
 try { 
  URL url = new URL(connurl); 
  conn = (HttpURLConnection) url.openConnection(); 
  conn.setRequestMethod("GET"); 
  conn.setUseCaches(false); 
  conn.setConnectTimeout(mTimeout); 
  conn.connect(); 
  int resultCode = conn.getResponseCode(); 
  InputStreamReader in; 
  if (resultCode == 200) { 
  in = new InputStreamReader(conn.getInputStream()); 
  BufferedReader buffer = new BufferedReader(in); 
  String inputLine; 
  while ((inputLine = buffer.readLine()) != null) { 
   resultData.append(inputLine); 
   resultData.append("\n"); 
  } 
  buffer.close(); 
  in.close(); 
  } 
  resultStr[0] = resultData.toString(); 
  resultStr[1] = resultCode + ""; 
 } catch (Exception e) { 
  e.printStackTrace(); 
 } finally { 
  if (conn != null) { 
  conn.disconnect(); 
  } 
 } 
 return resultStr; 
 } 
}
Copier après la connexion
(2) Établissez ensuite une connexion avec le serveur WeChat via cette classe d'outils pour obtenir les données souhaitées :

 String url = "https://api.weixin.qq.com/sns/jscode2session?appid=""&secret=""&js_code=" 
   + jsCode + "&grant_type=authorization_code"; 
 String res[] = connection.requestJson(url); 
 System.out.println(res[0]); 
 JSONObject object = JSON.parseObject(res[0]); 
 String openId = object.getString("openid"); 
 String session_key = object.getString("session_key");
Copier après la connexion
L'appid et le secret peuvent être interrogés dans votre compte développeur, et le js_code est envoyé par le client, afin que la clé de session puisse être obtenue à partir des données renvoyées.

3. Une fois que le serveur A a obtenu la clé de session, il génère un nombre aléatoire que nous appelons 3rdsession, avec 3rdSessionId comme clé et sessionkey + openid comme valeur et mis en cache dans Redis ou Memcached car l'équipe WeChat ne le recommande pas ; stockant directement la clé de session dans Transmis sur le réseau, le développeur génère une clé unique et l'associe à la clé de session. Ses fonctions sont : (1) Renvoyez le 3rdSessionId au client pour maintenir l'état de connexion du mini-programme.

(2). Recherchez la clé de session utilisateur et l'openid via 3rdSessionId.

4. Le client obtient le 3rdSessionId et le met en cache dans le stockage

5. Les données sensibles de l'utilisateur peuvent être obtenues via wx.getUserIinfo.
6. Le client envoie les données chiffrées, 3rdSessionId et offset ensemble au serveur A
7. Le serveur A obtient la clé de session du cache en fonction de 3rdSessionId
8. Utilisez AES pour déchiffrer les données chiffrées sur le serveur A, réalisant ainsi la sensibilité de l'utilisateur. décryptage des données.

Il y a trois paramètres nécessaires pour décrypter les données, à savoir :


1. Autrement dit, clé de session



Lors du décryptage, les trois variables ci-dessus doivent être décodées en Base64 :

, puis utiliser la méthode de décryptage AES pour décrypter :

byte[] encrypData = UtilEngine.decode(encData); 
byte[] ivData = UtilEngine.decode(iv); 
byte[] sessionKey = UtilEngine.decode(session_key);
Copier après la connexion

De cette manière, le numéro de téléphone mobile de l'utilisateur peut être obtenu dans les données renvoyées.

public static byte[] decrypt(byte[] key, byte[] iv, byte[] encData) 
 throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, 
 InvalidKeyException, BadPaddingException, IllegalBlockSizeException { 
 AlgorithmParameterSpec ivSpec = new IvParameterSpec(iv); 
 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); 
 SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); 
 cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); 
 return cipher.doFinal(encData); 
}
Copier après la connexion
Recommandations associées :


Exemple d'applet WeChat obtenant un numéro de téléphone mobile, fonction de connexion d'utilisateur autorisé

PHP obtenant un numéro de téléphone mobile Écriture d'expressions régulières

PHP obtient l'emplacement du numéro de téléphone mobile via le didacticiel API_PHP

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Mar 22, 2024 am 08:40 AM

Avec le développement rapide des médias sociaux, Xiaohongshu est devenue l'une des plateformes sociales les plus populaires. Les utilisateurs peuvent créer un compte Xiaohongshu pour montrer leur identité personnelle et communiquer et interagir avec d'autres utilisateurs. Si vous avez besoin de trouver le numéro Xiaohongshu d’un utilisateur, vous pouvez suivre ces étapes simples. 1. Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? 1. Ouvrez l'application Xiaohongshu, cliquez sur le bouton « Découvrir » dans le coin inférieur droit, puis sélectionnez l'option « Notes ». 2. Dans la liste des notes, recherchez la note publiée par l'utilisateur que vous souhaitez rechercher. Cliquez pour accéder à la page de détails de la note. 3. Sur la page de détails de la note, cliquez sur le bouton « Suivre » sous l'avatar de l'utilisateur pour accéder à la page d'accueil personnelle de l'utilisateur. 4. Dans le coin supérieur droit de la page d'accueil personnelle de l'utilisateur, cliquez sur le bouton à trois points et sélectionnez « Informations personnelles »

Comment configurer si WeChat ne permet pas l'ajout par numéro de téléphone mobile Comment configurer si WeChat ne permet pas l'ajout par numéro de téléphone mobile Mar 12, 2024 pm 05:04 PM

Comment configurer WeChat pour interdire l'ajout via un numéro de téléphone mobile ? Dans l'application WeChat, vous pouvez interdire l'ajout de WeChat via un numéro de téléphone mobile, mais la plupart des utilisateurs ne savent pas comment le configurer pour ne pas autoriser l'ajout de WeChat via un téléphone mobile. Vient ensuite WeChat proposé par l'éditeur aux utilisateurs. Il n'est pas autorisé d'ajouter des didacticiels de méthode de configuration via les numéros de téléphone mobile. Les utilisateurs intéressés peuvent venir jeter un œil ! Tutoriel d'utilisation de WeChat WeChat ne permet pas l'ajout via un numéro de téléphone mobile. Comment le configurer ? 1. Ouvrez d'abord l'application WeChat, accédez à la page principale, cliquez sur [Moi] dans le coin inférieur droit pour entrer et sélectionnez [Paramètres] fonction ; 2. Entrez ensuite dans la page des fonctions de configuration et recherchez la fonction de service [Autorisations d'ami] 3. Ensuite, sur l'interface des autorisations d'ami, faites glisser le bouton derrière [Une vérification est requise lors de l'ajout de moi en tant qu'ami] ; la page ci-dessous, faites glisser [Numéro de téléphone portable]

Comment résoudre le code 28 du pilote Win7 Comment résoudre le code 28 du pilote Win7 Dec 30, 2023 pm 11:55 PM

Certains utilisateurs ont rencontré des erreurs lors de l'installation du périphérique, provoquant le code d'erreur 28. En fait, cela est principalement dû au pilote. Il nous suffit de résoudre le problème du code de pilote Win7 28. Voyons ce qu'il faut faire. . Que faire avec le code 28 du pilote Win7 : Tout d'abord, nous devons cliquer sur le menu Démarrer dans le coin inférieur gauche de l'écran. Ensuite, recherchez et cliquez sur l'option "Panneau de configuration" dans le menu contextuel. Cette option est généralement située en bas ou près du bas du menu. Après avoir cliqué, le système ouvrira automatiquement l'interface du panneau de configuration. Dans le panneau de configuration, nous pouvons effectuer divers paramètres système et opérations de gestion. C'est la première étape du niveau de nettoyage nostalgique, j'espère que cela aidera. Ensuite, nous devons continuer et entrer dans le système et

Comment changer le numéro de téléphone portable dans le compte Xiaohongshu ? Y aura-t-il un impact si je change de numéro de téléphone portable ? Comment changer le numéro de téléphone portable dans le compte Xiaohongshu ? Y aura-t-il un impact si je change de numéro de téléphone portable ? Mar 22, 2024 am 08:11 AM

À l'ère du numérique, Xiaohongshu est devenue une plateforme permettant à de nombreuses personnes de partager leur vie et de découvrir de bonnes choses. Au fil du temps, nous devrons peut-être modifier le numéro de téléphone mobile du compte. Alors, comment changer le numéro de téléphone portable de Xiaohongshu ? 1. Comment changer le numéro de téléphone mobile du compte Xiaohongshu ? 1. Connectez-vous à votre compte Xiaohongshu et accédez à la page « Mon ». 2. Cliquez sur "..." dans le coin supérieur droit et sélectionnez "Paramètres". 3. Sur la page des paramètres, recherchez l'option « Compte et sécurité » et cliquez pour entrer. 4. Sur la page Compte et sécurité, recherchez l'option « Numéro de téléphone mobile » et cliquez pour entrer. 5. À ce moment, le numéro de téléphone mobile actuel sera affiché sur la page, cliquez sur « Modifier le numéro de mobile ». 6. Saisissez le nouveau numéro de téléphone mobile, recevez le code de vérification et remplissez-le. 7. Définissez un nouveau mot de passe pour garantir la sécurité du compte. 8. Après avoir terminé les étapes ci-dessus,

Que faire si le code d'écran bleu 0x0000001 apparaît Que faire si le code d'écran bleu 0x0000001 apparaît Feb 23, 2024 am 08:09 AM

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

L'ordinateur affiche fréquemment des écrans bleus et le code est différent à chaque fois L'ordinateur affiche fréquemment des écrans bleus et le code est différent à chaque fois Jan 06, 2024 pm 10:53 PM

Le système Win10 est un très excellent système à haute intelligence. Sa puissante intelligence peut apporter la meilleure expérience utilisateur aux utilisateurs. Dans des circonstances normales, les ordinateurs du système Win10 des utilisateurs n'auront aucun problème ! Cependant, il est inévitable que divers défauts se produisent sur d'excellents ordinateurs. Récemment, des amis ont signalé que leurs systèmes Win10 rencontraient fréquemment des écrans bleus ! Aujourd'hui, l'éditeur vous proposera des solutions aux différents codes qui provoquent des écrans bleus fréquents sur les ordinateurs Windows 10. Jetons un coup d'œil. Solutions aux écrans bleus fréquents de l'ordinateur avec des codes différents à chaque fois : causes des différents codes d'erreur et suggestions de solutions 1. Cause de l'erreur 0×000000116 : Il se peut que le pilote de la carte graphique soit incompatible. Solution : Il est recommandé de remplacer le pilote d'origine du fabricant. 2,

Résoudre l'erreur du code 0xc000007b Résoudre l'erreur du code 0xc000007b Feb 18, 2024 pm 07:34 PM

Code de terminaison 0xc000007b Lors de l'utilisation de votre ordinateur, vous rencontrez parfois divers problèmes et codes d'erreur. Parmi eux, le code de terminaison est le plus inquiétant, notamment le code de terminaison 0xc000007b. Ce code indique qu'une application ne peut pas démarrer correctement, provoquant des désagréments pour l'utilisateur. Tout d’abord, comprenons la signification du code de terminaison 0xc000007b. Ce code est un code d'erreur du système d'exploitation Windows qui se produit généralement lorsqu'une application 32 bits tente de s'exécuter sur un système d'exploitation 64 bits. Cela signifie que ça devrait

Explication détaillée des causes et des solutions du code d'écran bleu 0x0000007f Explication détaillée des causes et des solutions du code d'écran bleu 0x0000007f Dec 25, 2023 pm 02:19 PM

L'écran bleu est un problème que nous rencontrons souvent lors de l'utilisation du système. Selon le code d'erreur, il existe de nombreuses raisons et solutions différentes. Par exemple, lorsque nous rencontrons le problème d'arrêt : 0x0000007f, il peut s'agir d'une erreur matérielle ou logicielle. Suivons l'éditeur pour découvrir la solution. Raison du code d'écran bleu 0x000000c5 : Réponse : La mémoire, le processeur et la carte graphique sont soudainement overclockés ou le logiciel ne fonctionne pas correctement. Solution 1 : 1. Continuez à appuyer sur F8 pour entrer lors du démarrage, sélectionnez le mode sans échec et appuyez sur Entrée pour entrer. 2. Après être entré en mode sans échec, appuyez sur win+r pour ouvrir la fenêtre d'exécution, entrez cmd et appuyez sur Entrée. 3. Dans la fenêtre d'invite de commande, saisissez « chkdsk /f /r », appuyez sur Entrée, puis appuyez sur la touche y. 4.

See all articles