成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Laravel 集成微信用戶登錄和綁定的實現(xiàn)

Laravel 集成微信用戶登錄和綁定的實現(xiàn)

熱門標(biāo)簽:青島語音外呼系統(tǒng)招商 百應(yīng)電話機器人服務(wù) 岳陽外呼型呼叫中心系統(tǒng)在哪里 昭通辦理400電話 河南電銷卡外呼系統(tǒng)哪家強 山西回撥外呼系統(tǒng) 山西探意電話機器人 揚州地圖標(biāo)注app 騰訊外呼管理系統(tǒng)

最近主要在忙活微信與支付寶平臺的對接與開發(fā),本篇就基于后端層面來講述一下微信的登錄與綁定實現(xiàn)。

(一)申請微信開放平臺

最首先的話就是需要去微信開發(fā)中心https://open.weixin.qq.com,創(chuàng)建一個賬號,然后創(chuàng)建自己的移動或網(wǎng)站應(yīng)用。

創(chuàng)建完成后,就會需要騰訊的審核,整個過程在1-3天,基本上1天左右就能完成,審核通過如下圖所示。

(二) 、封裝微信相關(guān)接口

微信移動應(yīng)用開發(fā)文檔:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Authorized_API_call_UnionID.html

審核通過后,就需要來封裝微信授權(quán)、可信息獲取的接口。

封裝微信授權(quán) 用戶信息獲取

微信授權(quán)接口:https://api.weixin.qq.com/sns/oauth2

需要填寫的參數(shù)如下:

參數(shù) 是否必須 說明
appid 應(yīng)用唯一標(biāo)識,在微信開放平臺提交應(yīng)用審核通過后獲得
secret 應(yīng)用密鑰 AppSecret,在微信開放平臺提交應(yīng)用審核通過后獲得
code 填寫第一步獲取的 code 參數(shù)
grant_type 填 authorization_code

下面通過我們的PHP代碼實現(xiàn):

?php
namespace App\Helpers;

use GuzzleHttp\Client;
use Illuminate\Support\Arr;

class WechatAppUtils
{
  protected $client = null;

  protected $config = [];

  public function __construct()
  {
    $this->config = [
      'wechat_app' => [
        'appid' => env('WECHAT_APPID'),  //審核通過的APPID
        'secret' => env('WECHAT_SECRET'),  //應(yīng)用APP SECRET 詳情見上圖
      ],
      'time_out'  => 5,
    ];
    $this->client = new Client([
      'time_out' => $this->config['time_out'],
    ]);
  }

  /**
   * 獲取微信用戶access_token
   *
   * @param [String] $code
   * @return Array
   */
  public function accessToken($code)
  {
    $accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token';

    $response = $this->client->request('GET', $accessTokenUrl, [
      'query' => [
        'grant_type' => 'authorization_code',
        'code'    => $code,
        'appid'   => Arr::get($this->config, 'wechat_app.appid'),
        'secret'   => Arr::get($this->config, 'wechat_app.secret'),
      ],
    ]);

    $result = $response->getbody()->getContents();

    return empty($result) ? null : json_decode($result, true);
  }

  /**
   * 微信用戶信息
   *
   * @param [String] $accessToken
   * @param [String] $openId
   * @return Array
   */
  public function userInfo($accessToken, $openId)
  {
    $userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo';

    $response = $this->client->request('GET', $userInfoUrl, [
      'query' => [
        'access_token' => $accessToken,
        'openid'    => $openId,
        'lang'     => 'zh_CN',
      ],
    ]);

    $result = $response->getbody()->getContents();

    return empty($result) ? null : json_decode($result, true);
  }
}

上面的accessToken方法主要是實現(xiàn)用戶授權(quán),效驗的code參數(shù)是客戶端傳遞過來的,當(dāng)成功獲取收錢用戶的授權(quán)信息后,可以根據(jù)用戶的OPENID來調(diào)用userInfo方法查詢相關(guān)用戶的信息,包含了用戶的昵稱、頭像、性別等等。

具體客戶端開發(fā)文檔可以參考這篇:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html。

上面的用到的Http Client是一個第三方拓展包,叫做GuzzleHttp,是一個PHP HTTP客戶端,可以輕松發(fā)送HTTP請求,并且可以輕松集成Web服務(wù)。

我們可以通過composer一鍵安裝:

composer require guzzlehttp/guzzle

(三)、完善用戶微信授權(quán)登錄

完成上述的封裝操作后,我們便開始講微信接入到我們自己的系統(tǒng)中與用戶進行關(guān)聯(lián)起來,下面是微信接入的一張時序圖。

如果用戶想使用微信登錄,首先會通過客戶端喚起微信,請求登錄第三方應(yīng)用,然后微信會詢問用戶是否成功授權(quán)給XX應(yīng)用,授權(quán)成功后,客戶端會得到一個授權(quán)碼:code,然后客戶端攜帶code請求我們的客戶端API,進行授權(quán)綁定,授權(quán)成功后,會得到授權(quán)用戶OPENID(應(yīng)用下的唯一標(biāo)識),反之拋出異常信息提示用戶。

建立OAuth表,用于儲存用戶的授權(quán)信息。

建立一張o_auths table 儲存用戶的授權(quán)信息,設(shè)計oauth_type字段使其成為一個多態(tài)模型,方便接入以后的微博、支付寶、QQ接入等等。

Schema::create('o_auths', function (Blueprint $table) {
  $table->increments('id');
  $table->unsignedInteger('user_id')->index()->comment('用戶ID');
  $table->morphs('o_auth');
  $table->json('data')->nullable()->comment('授權(quán)信息');
  $table->timestamps();
});

完善用戶授權(quán)綁定

建立好o_auths table,下面開始完善用戶授權(quán)綁定的邏輯:

function wechat(User $user, $code)
{
  $utils = new WechatAppUtils;

  //獲取微信token
  $accessTokens = $utils->accessToken($code);
  throw_if(!Arr::has($accessTokens, ['unionid', 'openid']), Exception::class, '授權(quán)失敗,請稍后再試!');

  //建立oauth關(guān)聯(lián)
  $oAuth = OAuth::firstOrNew(['oauth_type' => 'wechat', 'oauth_id' => $accessTokens['openid']]);
  throw_if(isset($oAuth->id),Exception::class,'該微信已綁定,請直接登錄!');
  $oAuth->user_id = $user->id;
  $oAuth->data  = Arr::only($accessTokens, ['openid', 'refresh_token']);
  $oAuth->save();

  return $oAuth;
}

首先會通過客戶端傳遞過來的Code獲取當(dāng)前用戶授權(quán),然后查詢該用戶是否已授權(quán)過,已授權(quán)過就提醒用戶直接去登錄,否則綁定授權(quán)信息,返回給客戶端。

完善微信登錄

完善好用戶授權(quán)后,登錄就顯得非常容易了,只需要簡單查詢授權(quán)記錄,存在則返回對應(yīng)綁定的用戶,否則拋出異常信息提示用戶。

public function signIn($user, $code)
{
  $utils = new WechatAppUtils;
  //獲取微信token
  $accessTokens = $utils->accessToken($code);
  throw_if(!Arr::has($accessTokens, ['unionid', 'openid']), Exception::class, '授權(quán)失敗,請稍后再試!');
  $oauth = $this->getUserOauth($user, 'wechat');
  throw_if(is_null($oauth), UserException::class, '授權(quán)失敗,該賬戶未綁定!');

  return $oauth;
}

public function getUserOauth(User $user, $oAuthType)
{
  return OAuth::where(['oauth_type' => $oAuthType, 'user_id' => $user->id])->first();
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel 微信小程序后端實現(xiàn)用戶登錄的示例代碼
  • laravel5實現(xiàn)微信第三方登錄功能
  • php的laravel框架快速集成微信登錄的方法

標(biāo)簽:南陽 湛江 宜賓 寶雞 銅川 黃南 婁底 鎮(zhèn)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel 集成微信用戶登錄和綁定的實現(xiàn)》,本文關(guān)鍵詞  Laravel,集成,微信,用戶,登錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel 集成微信用戶登錄和綁定的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Laravel 集成微信用戶登錄和綁定的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久青青草视频| 91精品1区| 99re在线| xx视频.9999.com| 韩日精品一区二区| 91麻豆精品国产91久久久平台| 亚洲欧美日韩在线高清直播| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品 欧美精品| 欧美午夜精品久久久久久久| 国产成年人视频网站| 亚洲欧美国产日韩天堂区| 成人在线观看高清| 成人av网站观看| 黄色性视频网站| 日韩精品一区二区三区视频| 国产精品久久久久久久久久久不卡| 亚州一区二区| 亚洲mmav| 午夜精品久久久内射近拍高清| 91国偷自产一区二区三区成为亚洲经典| 国产黄a三级三级看三级| 神马影院一区二区三区| 成人av激情人伦小说| www.8ⅹ8ⅹ羞羞漫画在线看| 日本一区二区三区视频| 欧美猛男gaygay网站| 自拍视频国产精品| 免费看黄色aaaaaa 片| 精品欧美一区二区在线观看| 成人精品毛片| 加勒比在线日本| aaa一级黄色片| 成年人在线免费观看视频网站| 色网在线免费观看| 2014亚洲天堂| 亚洲男帅同性gay1069| 国产suv精品一区二区三区88区| 国色天香2019中文字幕在线观看| 日本电影二区| 欧美一级夜夜爽| 在线观看免费国产成人软件| a√在线中文网新版址在线| 国产在线观看精品一区二区三区| 国产手机免费视频| 国产精品国产三级在线观看| 熟女俱乐部一区二区| 日韩精品国内| 久久人人99| 91精品国产全国免费观看| 国产在线精品一区二区三区不卡| 蜜臀av性久久久久av蜜臀妖精| a天堂在线观看| www.久久热| 1区2区在线| 免费精品视频在线| 国新精品乱码一区二区三区18| 91高清视频在线| 国产精品视频一区二区图片| 欧美一区二区三区影视| 亚洲日本青草视频在线怡红院| 美丽的姑娘在线观看免费动漫| 亚洲精品国产精品国自产网站按摩| 日韩电影免费观| 久久精品一本久久99精品| 欧美激情小视频| 国产一区二区三区免费看| 久草视频在线免费看| 免费黄色在线播放| 国产一区二区视频在线免费观看| 欧美一级黄色大片| 九九久久电影| 在线观看国产福利视频| 成人h动漫精品一区二区下载| 1区2区3区国产精品| 999香蕉视频| h版电影在线播放视频网址| 美国黄色特级片| 91精品国产综合久久久蜜臀粉嫩| 国产66精品久久久久999小说| 黄色香蕉视频在线观看| 成人av网站免费观看| 日本免费在线播放| 亚洲手机在线观看| 免费一级欧美在线观看视频| 亚洲精品一区二区三区在线| 国产伦精品一区二区三区四区视频| 中文字幕欧美区| 成人国产精品免费网站| 一区二区三区久久久| 免费在线观看成年人视频| 亚洲一区在线观看网站| www.色香蕉| 亚洲一区免费在线观看| 国产精品国产三级国产普通话99| 中国一级特黄录像播放| 国产麻豆乱码精品一区二区三区| 无码国产伦一区二区三区视频| 国产91在线播放精品91| 亚洲开发第一视频在线播放| 色婷婷av一区二区三区久久| 精品视频9999| av三级在线播放| 国产亲近乱来精品视频| 国产一区二区h| 国产精品护士白丝一区av| 波多野结衣在线影院| 色偷偷男人天堂| 天天摸天天操天天爽| 天堂视频在线免费观看| 日韩限制级电影在线观看| 欧美成人精品一区| 国产精品视频免费播放| 翡翠波斯猫1977年美国| 91黑丝在线观看| 精品国产一区二区在线观看| 欧美理论电影在线播放| 资源网第一页久久久| 性爱在线免费视频| 福利网站在线观看| 国内欧美日韩| 最新日本在线观看| 欧美激情一区二区三区不卡| 手机在线免费看片| 国产成人精品免高潮费视频| 国产乱人伦精品一区二区在线观看| 欧美性生交大片免网| 免费高潮视频95在线观看网站| 欧美性xxxx极品hd欧美风情| 久久综合丝袜日本网| 久草视频在线资源站| 国产精品久久久久高潮| 中文字幕乱码在线人视频| 国产精品扒开腿做爽爽爽的视频| 国产精品久久久久久久app| 免费在线黄色影片| 视频一区视频二区视频三区高| 免费亚洲一区二区| 亚洲性生活视频在线观看| 久久天天躁狠狠躁夜夜av| 奇米一区二区| 动漫av网站免费观看| 欧美少妇一级片| 国产欧美日韩亚洲一区二区三区| 99精品综合| 天天影视色香欲综合网天天录日日录| 在线免费成人| 黑人巨大亚洲一区二区久| 玖玖玖精品中文字幕| 麻豆视频在线观看免费网站| 日本免费色视频| 日本一区二区免费不卡| 欧美成人片在线观看| 中文字幕av观看| 久久免费一级片| 欧美亚洲国产另类| 久久99伊人| 中文字幕在线天堂| 有没有片在线看www| 国产精品久久久久久久99| 亚洲超碰97人人做人人爱| 国产精品一区二区不卡| 亚洲成人久久精品| 久久99久久久欧美国产| 日韩av字幕| 亚洲国产精品一区二区www在线| 日本中文字幕亚洲| 另类国产精品一区二区| 欧美巨乳在线观看| 日本91av在线播放| 性生活视频网站| av免费观看一区二区| 国产精品密蕾丝视频下载| 538任你躁精品视频网免费| 日韩欧美激情在线| 欧美国产综合视频| 8888在线观看免费www| 不卡的av在线播放| 久久成人人人人精品欧| 77thz桃花论族在线观看| 99热一区二区三区| 国产在线资源一区| 国产精品无码专区av免费播放| 久久riav二区三区| 麻豆精品国产自产在线| 性欧美亚洲xxxx乳在线观看| 免费v片在线观看| 欧美高清视频在线观看| 国产丝袜美腿一区二区三区| 亚洲熟女少妇一区二区| 日本中文字幕一区| 韩国三级丰满少妇高潮| 成人毛片视频免费看| japanese23hdxxxx日韩| 欧美主播一区二区三区美女| 欧美日韩国产一区二区| 男女猛烈激情xx00免费视频| 一区二区精品免费视频| 成人在线视频免费播放| 手机精品视频在线观看| 中文字幕在线资源| 色一区二区三区四区| 久久影视中文粉嫩av| 国产成人精品久久一区二区小说| 影音先锋国产精品| 伊色综合久久之综合久久| 精品中文字幕一区| 少妇av片在线观看| 成人短视频在线| 精品人妻一区二区免费视频| 91精品国产三级| 精品露脸国产偷人在视频| 50路60路老熟妇啪啪| 亚洲香蕉中文网| 日韩av在线电影观看| 91精品在线播放| 亚洲少妇屁股交4| 国产剧情在线| 99久久精品费精品国产| 国产精品狼人久久影院观看方式| 久久九九国产精品| 肥臀熟女一区二区三区| 少妇搡bbbb搡bbb搡打电话| 国产精品一卡二| 91国产视频在线播放| 波多野结衣家庭教师| 亚洲日韩欧美一区二区在线| 黄色片一区二区三区| 亚洲精美视频| 爽好多水快深点欧美视频| 国产精品久久久久久久久粉嫩av| 欧美一区二区三区四区在线| 一级黄色大片免费看| 97se亚洲| 中文字幕免费在线| www.亚洲黄色| 日本电影欧美片| 极度色播免费播放视频| 自拍电影在线观看| 欧美风狂大伦交xxxx| 四虎免费在线观看视频| 日本成人伦理电影| 欧美videos粗暴高清性| 成年女人18级毛片毛片免费| 久久精品一区二区三区不卡牛牛| 国产精品乱码人人做人人爱| 一二美女精品欧洲| 午夜老司机在线观看| 精品免费在线观看| 国产精品国产三级国产专业不| 亚洲欧洲国产精品一区| 精品国产亚洲一区二区三区在线观看| 狠狠色综合网站久久久久久久| 一区二区三区偷拍| 亚洲va久久久噜噜噜久久天堂| 国产成人免费在线观看| 亚洲成av人在线观看| 九九久久成人| 亚洲69av| 亚洲精品国产品国语在线app| 四虎影视1304t| 熟年交尾五十路视频在线播放| 日韩欧美在线免费观看视频| 成人h动漫精品一区二| 一区二区三区中文| 性欧美xxxx大乳国产app| 国产一区二区视频网站| japanese中文字幕| 欧美97人人模人人爽人人喊视频| 成人爽a毛片免费啪啪动漫| 亚洲精品在线不卡| 久久99国产精品久久| 日本精品视频一区二区三区| 国产呻吟对白刺激无套视频在线| 国产成人一二| 免费av在线一区| 日本高清不卡一区| 欧美性猛交xxxxx免费看| 国产二区一区| 少妇精品视频一区二区免费看| 欧美一区二区三区久久| 亚洲色图制服诱惑| 亚洲欧美日韩中文字幕在线观看| 91网站黄www| 黄色毛片网站| 久久这里只有精品一区二区| 污视频网站免费在线观看| 日日日日人人人夜夜夜2017| 国产稀缺真实呦乱在线| 国产成人综合美国十次| 国产在线观看91精品一区| 久久久久久久久岛国免费| 波多野结衣电车痴汉| 草莓视频性福宝| 日韩国产精品久久| 午夜成人亚洲理伦片在线观看| 欧美丰满少妇xxxxx做受| 2022国产精品视频| 日韩在线视频一区二区三区| 桃花视频大全不卡免费观看网站| 成人黄色av片| 精品一区二区三区四区在线| 在线视频综合导航| 亚洲欧洲综合另类| 亚洲精品一区二区三区四区高清| 91美女精品网站| 成人免费播放器| 免费看黄色片的网站| 91社区在线播放| 中文字幕第15页| 免费搞黄视频| 激情五月宗合网| 伊人再见免费在线观看高清版| 26uuu国产电影一区二区| 国产乱码精品一区二区三区卡| 亚洲精品欧美日韩| 青青草手机在线视频| 久久出品必属精品| 日韩欧美福利视频| 区一区二在线观看| 最新国产在线观看| 91免费在线视频| 噜噜噜91成人网| 91av免费观看91av精品在线| 国产精品久久久午夜夜伦鲁鲁| 日韩av在线播放网址| 欧美性猛交乱大交| 国产精品视频入口|