記事「WeChat サードパーティ認証スキャン コード ログインの実装」の中で、Tiandi は Ecshop システムに WeChat サードパーティ認証ログインを実装する方法を簡単に説明し、主にユーザーのログイン判定を変更するコア コード、つまりファイルを公開しました。ユーザー.php
- /***************************/
- /* Wechatログイン/
- /* by tiandi 2014.12.6 /
- /***************************/
- if (定義('WEBSITE' ) || 定義('GETINFO'))
- {
- グローバル $_LANG;
- $_LANG['help']['APP_KEY'] = 'WeChat 開発者プラットフォームに適用された AppID';
- $_LANG['help'] [' APP_SECRET'] = 'WeChat 開発者プラットフォームに適用された AppSecret';
-
- $_LANG['APP_KEY'] = 'AppID';
- $_LANG['APP_SECRET'] = 'AppSecret';
-
- $i = isset ($web) ? count($web) : 0;
- // クラス名
- $web[$i]['name'] = 'wechat';
- // サフィックスを除くファイル名
- $web[$i ]['type' ] = 'wechat';
-
- $web[$i]['className'] = 'wechat';
-
- // 著者情報
- $web[$i]['author'] = 'tiandi ';
-
- / / 著者 QQ
- $web[$i]['qq'] = '';
-
- // 著者のメールアドレス
- $web[$i]['email'] = '';
-
- // アプリケーション URL
- $web [$i]['website'] = 'http://open.weixin.qq.com';
-
- // バージョン番号
- $web[$i]['version'] = '1.0 ';
-
- / / 更新日
- $web[$i]['date'] = '2014-12-6';
-
- // 設定情報
- $web[$i]['config'] = array(
- array('type '=>'テキスト' , '名前'=>'APP_KEY', '値'=>''),
- array('タイプ'=>'テキスト' , '名前' = > 'APP_SECRET' , 'value' => ''),
- );
- }
-
-
- if (!define('WEBSITE'))
- {
- include_once(dirname(__FILE__).'/oath2.class.php');
- class website extends oath2
- {
- function website()
- {
- $this->app_key = APP_KEY;
- $this->app_secret = APP_SECRET;
-
- $this->scope = 'snsapi_login' ;
- //by tiandi authorizeURL は、PHP で WeChat ログインを開くときに使用され、JS を呼び出すときは authorizeURL は使用されません。
- $this->authorizeURL = 'https://open.weixin.qq.com/connect/qrconnect';
-
- $this->tokenURL = 'https://api.weixin.qq.com/sns/ oauth2/access_token';
- $this->refreshtokenURL = 'https://api.weixin.qq.com/sns/oauth2/refresh_token';
- $this->userURL = 'https://api.weixin. qq.com/sns/userinfo';
- $this->meth = 'GET';
- }
-
- function Code2Token($code)
- {
- $params = 'appid='.$this->app_key.' &secret='.$this->app_secret.'&code='.$code.
- '&grant_type=authorization_code';
- $tokenurl = $this->tokenURL."?" $token = $this ->http($tokenurl, 'GET');
- $token = json_decode($token , true);
- return $token;
- }
-
- function GetRefreshToken($token)
- {
- $params = 'appid=' .$this->app_key.'&grant_type=refresh_token&refresh_token='.$token;
- $tokenurl = $this->refreshtokenURL."?" $params;
- $token = $this->http($tokenurl, 'GET');
- $token = json_decode($token , true);
- return $token;
- }
-
- function Getinfo($token,$openid)
- {
- $params = 'access_token='.$token.' &openid='.$openid;
- $userurl = $this->userURL."?". $params;
- $userinfo = $this->http($userurl, 'GET');
- return json_decode($userinfo) 、 true);
- }
- }
- }
-
コードをコピー
|