日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度第三方登录

發布時間:2023/12/9 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度第三方登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先第三方應用要跟微信帳號合作,然后按照下面的方法操作:

  目前,百度OAuth2.0支持五種獲取Access Token的流程和一種刷新獲取AccessToken方式,第三方可根據需求選取合適的方式:

  百度授權的Access Token是有有效期的,這樣會影響用戶的體驗和增加開發者的工作。所以平臺提供了一種方式可以保證授權有效期為永久。

  • 實現方式:返回給第三方一個月有效期的Access Token + 十年有效期的Refresh Token。
  • 實現原理:Refresh Token的作用就是在Token有效期截止前,刷新以獲取新的Access Token。

第一步:注冊百度直達號應用。

可以通過百度的開放平臺去注冊一個應用。之后你會得到一個App Key和一個App Secret。擁有它們,你才可以申請權限。

假設你的App Key是“1234567890”,App Secret是“abcdefghijklmnopqrstuvwxyz"

第二步:寫代碼。

將獲取到的OAuth的php版本的SDK加入你的project中。將你申請到的Key和Secret做為兩個變量定義并賦值。

對于OAuth來說,很多細節不需要我們去關注的,只要知道幾個重要的步驟即可:

 1. 第三方發起百度授權登錄請求,百度用戶允許授權第三方應用后,百度會拉起應用或重定向到第三方網站,并且帶上授權臨時票據code參數;

 2.?Access Token:用戶身份驗證和授權的憑證。第三方應用在調用百度開放API之前,首先需要獲取Access Token。

 3. 通過code參數加上AppID和AppSecret等,通過API換取access_token;

 4. 通過access_token進行接口調用,獲取用戶基本數據資源或幫助用戶實現基本操作。

? 4.?獲得未授權的access_token這個獲得未授權的 access_token就相當于放行條,也就是百度允許你開始獲取用戶的權限。

? 5. 根據這個access_token的內容,獲得一個url地址,這個地址頁面就是想登錄你應用的用戶輸入用戶名和密碼的地方。注意的是,這個url是屬于百度為你的這個應用創建的回調地址。

? 6. 用戶在上述登錄界面輸入自己的用戶名和密碼,成功登錄之后,你可以獲得已授權的 Access KEY。這個Access Key就包含了用戶多登錄信息(包括昵稱、用戶openID等等,這里的昵稱是指用戶顯示在百度上的名字,而不是用戶的登錄名)。

實例代碼:

1、調用授權頁面:login.php

//百度第三方登錄函數 function baidu(){require_once('u/baidu/Baidu.php');$clientId = '1234567890';$clientSecret = 'abcdefghijklmnopqrstuvwxyz';$redirectUri = 'http://www.bookask.com:8080/?a=login&b=callback&c=baidu';$domain = '.book.com';$baidu = new Baidu($clientId, $clientSecret, $redirectUri, new BaiduCookieStore($clientId));// 獲取用戶id和用戶名$user = $baidu->getLoggedInUser();// 百度第三方登錄url地址和退出url地址if ($user) {$logoutUrl = $baidu->getLogoutUrl('http://robin928.sinaapp.com/demos/website/logout_callback.php?u=' . urlencode(BaiduUtils::getCurrentUrl())); header("Location:".$logoutUrl); } else {$loginUrl = $baidu->getLoginUrl('', 'popup');header("Location:".$loginUrl);}}

2、回調程序callback.php

// 百度第三方回調函數 function baidu(){require_once('u/baidu/baiduapi.inc.php');if ($user) {$apiClient = $baidu->getBaiduApiClientService();$profile = $apiClient->api('/rest/2.0/passport/users/getInfo', array('fields' => 'userid,username,sex,birthday'));var_dump($profile); // 第三方登陸數據處理開始 $userid =$profile['userid'];$sql = "select * from `ub01` where ub01004 = '$userid'";$chek = _selectone($sql) ? _selectone($sql) : array();if(!empty($chek)){$_SESSION['uid']=$res['ua01001'];echo '授權成功';// header("Location:?"); }else{echo '授權失敗';}}else{echo "授權失敗";}exit; }

3、PHP-SDK-1.0.rar 包解壓的核心文件,注意路徑問題。

?

?

轉載于:https://www.cnblogs.com/520fyl/p/5420764.html

總結

以上是生活随笔為你收集整理的百度第三方登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。