1. Avant de commencer, veuillez lire attentivement le Document du développeur WeChat Dans le document, il y a au total plusieurs étapes :
.
- 1. Demander l'autorisation via l'appId et l'itinéraire à parcourir
- 2 Le code renvoyé dans l'itinéraire de saut après autorisation
注:
Le front-end n'a besoin que de connaître ces deux-là. étapes- 3. Obtenez access_token selon le code
- 4. Obtenez les informations utilisateur (autorisation snsapi_userinfo) selon access_token
2. une demande d'autorisation. Cette étape nécessite que le front-end reconstitue l'itinéraire et accède à la page pour reconstituer l'itinéraire. Les règles de routage sont les suivantes :https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的公众appId号&redirect_uri=你的回调路由&response_type=code&scope=你选择的方式&state=STATE#wechat_redirect
注
La méthode d'autorisation peut être snsapi_userinfo ou snsapi_base pour le. différence, veuillez consulter le documentaprès avoir accédé à la page d'autorisation comme suit (effet de l'outil de développement)
3. Après avoir cliqué sur Accepter, le code apparaîtra. être renvoyé en fonction de la route de rappel que vous avez établie auparavant, comme suit :
http://test.***.com/index?code=021Azdiu12zdXd05kkju1ZYkiu1AzdiR&state=1
4. Transmettez le code dans la route directement au backend et laissez le backend faire une série. de traitement logique pour obtenir des informations sur l'utilisateur.注:
Ce qui suit est la méthode de traitement dans le middleware laravel. La session n'est utilisée que pour cette demande. Vous pouvez également mettre les informations WeChat de l'utilisateur dans la demande et les envoyer au contrôleur pour un traitement logique. préférence
public function handle($request, Closure $next, $scopes = null) { $wechatCacheKey = 'wechat.oauth_user.default'; if (config("qa.mock_user") == 1){ $user = new SocialiteUser(config('wechat.mock_user')); } else { $code = $request->get("code", ""); if ($code === ""){ $appId = $this->config["app_id"]; return Response::toJson(["aid" => $appId], "请重新获取授权CODE!",10006); } // 开始拉取用户信息 $app = Factory::officialAccount($this->config); $user = $app->oauth->user(); } session([$wechatCacheKey => $user]); } return $next($request); }
注:
Cet exemple écrit uniquement la logique d'autorisation, et j'ai déjà éliminé la vérification liée au jeton
1. code entre l'url et # , tel que www.****.com/?code=XXXXX/#/index
, ce code doit être traité séparément
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!