WeChat H5 サイレント ログインの基本条件
PHPを使用してWeChat H5ページを開発する場合、サイレントログイン機能を実装する必要がある場合は、事前に以下の準備を完了する必要があります。
- ビジネス ドメイン名を登録する: Web ページの認証とユーザー ID 検証のために、WeChat オープン プラットフォームにビジネス ドメイン名を登録する必要があります。
- WeChat Web 認証 API を呼び出す: WeChat が提供する Web 認証インターフェイスを呼び出して、サイレント ログイン用の認証コード (コード) を取得します。
- WeChat 認証コード (コード) を取得する: ユーザーが H5 ページにアクセスして WeChat にログインすると、システムは認証コードを返します。
- WeChat アプレット AppID を構成する: アプレットを WeChat オープン プラットフォームに登録し、後続のインターフェイス リクエスト用の AppID を取得します。
WeChat H5 サイレント ログインの実装手順
以下は、PHP 環境で WeChat H5 サイレント ログインを実装する完全なプロセスです。
- ビジネス ドメイン名の登録: WeChat オープン プラットフォーム (https://open.weixin.qq.com) にログインし、ドメイン名情報と使用手順を送信し、承認を待ってから使用します。
- WeChat Web ページ認証 API を呼び出す:ビジネス ドメイン名のページで、サイレント ログイン検証のために WeChat Web ページ認証 API (wx.login など) を呼び出してコード値を取得します。
- WeChat 認証コードを取得する:ユーザーが認証すると、WeChat はアクセス トークンと交換するためのコードを返します。
- ミニ プログラム AppID を使用してアクセス トークンをリクエストします。PHPを通じて WeChat サーバーにリクエストを送信し、コードと AppID を使用してアクセス トークンとユーザーの一意の識別子 Unionid を取得します。
// 例:合格 code 得る access_token
$code = $_GET['code'];
$appId = 'あなたのAppID';
$appSecret = 'あなたのAppSecret';
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appId}&secret={$appSecret}&code={$code}&grant_type=authorization_code";
$response = file_get_contents($url);
$data = json_decode($response, true);
$access_token = $data['access_token'];
$openid = $data['openid'];
- ユーザー情報の取得:アクセス トークンを取得した後、WeChat インターフェイスを呼び出してユーザーの基本情報を取得できます。
// 例:得る用户信息
$userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN";
$userinfo = file_get_contents($userinfo_url);
$userinfo = json_decode($userinfo, true);
サイレントログイン時の注意点
- サイレント ログインは、WeChat クライアントにログインしたユーザーにのみ適用されます。
- 電話の頻度には公式の制限があり、頻繁なリクエストは避けるべきです。
- 開発者は、WeChat オープン プラットフォームのドキュメントを注意深く読んで、認証プロセスとインターフェイスの制限を理解することをお勧めします。
要約する
上記の手順により、開発者は PHP プロジェクトに WeChat H5 サイレント ログイン機能を実装できるため、ユーザーの邪魔をせずに ID 認証とデータ インタラクションを安全に完了できます。