Laravel はフロントエンドとバックエンドを分離して WeChat 認証を取得し、laravel-wechat と組み合わせます
2.フロントエンドが認可リクエストを開始します。このステップでは、フロントエンドがルートをつなぎ合わせ、ページをつなぎ合わせたルートにジャンプする必要があります。ルーティング ルールは次のとおりです:1. 始める前に、WeChat 開発者向けドキュメント をよくお読みください。このドキュメントには、合計でいくつかの手順があります:
- 1. appId とリダイレクトが必要なルートを介して承認をリクエストします。
- 2. 承認後にジャンプ ルートで返されるコード
注:
フロントエンドで必要なのは、これら 2 つの手順を理解してください- 3. コードに基づいて access_token を取得します
##4. access_token に基づいてユーザー情報を取得します (snsapi_userinfo 認可)
https://open.weixin.qq.com/connect/oauth2/authorize ?appid=パブリック アプリ ID 番号&redirect_uri= コールバック ルート&response_type=code&scope=選択したメソッド&state=STATE#wechat_redirect
Note認証メソッドは snsapi_userinfo または snsapi_base です。詳細についてはドキュメントを参照してください。違い
ジャンプ後の認可 ページは次のとおりです (開発者ツールの影響)
3. [同意する] をクリックすると、コードに基づいてコードが返されます。次のように、前にまとめたコールバック ルート:
http://test.***.com/index?code=021Azdiu12zdXd05kkju1ZYkiu1AzdiR&state=1
4.パスルート内のコードをバックエンドに直接送信し、バックエンドに一連のユーザー情報のフェッチ論理処理を実行させます。注:
次は、laravel ミドルウェアでの処理メソッドです。セッションは、このリクエストにのみ使用されます。リクエストにユーザーの WeChat 情報を含めて、論理処理のためにコントローラーに送信することもできます、個人の好みに応じて
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); }
注:
この例では承認ロジックのみを記述します。
落とし穴を排除するためにトークン関連の検証を実行しました:
1. Vue ルーティングコードは、www.****.com/?code=XXXXX/#/index
のように、URL と # の間に接続されます。このコードは処理する必要があります。別々に###
以上がLaravel はフロントエンドとバックエンドを分離して WeChat 認証を取得し、laravel-wechat と組み合わせますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。
