本文目錄一覽:
- 1、如何從 php 應用程序獲取有效的 oauth 訪問令牌
- 2、有關 php 新浪微博同步登陸 oAuth 授權的問題
- 3、php oauth 和 curl的區別
- 4、oauth2 和shiro的區別
- 5、如何使用php中oauth開發包及oauth
如何從 php 應用程序獲取有效的 oauth 訪問令牌
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。
header()函數的定義如下:
void header (string string [,bool replace [,int http_response_code]])
可選參數replace指明是替換前一條類似標頭還是添加一條相同類型的標頭,默認為替換。
第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。 header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。
有關 php 新浪微博同步登陸 oAuth 授權的問題
Either I’m not using oAuth helper correctly or what I’ve surmised from
the above is that it looks like oAuthHelper’s getUserAuthorizationUrl
maybe written geared more towards installed apps or apps that do not
need the token when constructing the callback url and instead store it
locally in a session or some other persistence location for later use
when exchanging the request token for an access token.
php oauth 和 curl的區別
1、由流程圖我們可以看出需要以下幾步0、獲取用戶Key與Secret(流程圖之外)【server/create_consumer.php】1、獲取Request Token 與 Request Secret 【client/get_request_token.php】 2、返回Request Token 與 Request Secret 【server喎�”/kf/ware/vc/” target=”_blank” class=”keylink”vcmVxdWVzdF90b2tlbi5waHChvwozoaLW2Laoz/LK2sio0rMgoaqhqg==” 【server/authorize.php】 4、用戶授權回調 ——| 5、獲取Access Token 與 Access Secret 【client/get_access_token.php】 6、返回Access Token 與 Access Secret 【server/access_token.php】 7、調用api(流程圖之外)【client/get_api.php】 8、返回api獲取的數據(流程圖之外)【server/api.php】
oauth2 和shiro的區別
oauth2 和shiro的區別為:性質不同、語言不同、用途不同。
一、性質不同
1、oauth2 :是OAuth協議的延續版本,但不向前兼容OAuth 2.0(即完全廢止了OAuth1.0)。
2、shiro:是一個強大且易用的Java安全框架。
二、語言不同
1、oauth2 :PHP、JavaScript,Java
2、shiro:Java
三、用途不同
1、oauth2 :允許第三方應用代表用戶獲得訪問的權限。
2、shiro:執行身份驗證、授權、密碼和會話管理。
參考資料來源:
百度百科——shiro
百度百科——OAuth2.0
如何使用php中oauth開發包及oauth
windows的下載地址:
需要此文件php_oauth.dll
放入/bin/php[version]/ext
您需要更改 php.ini 加載 oauth (動態擴展)
extension=php_oauth.dll
linux的下載地址:
tar -zxf oauth-1.2.3.tgz cd oauth-1.2.3
/usr/local/php5/bin/phpize
/configure –with-php-config=/usr/local/php5/bin/php-config
make make install
vi php.ini #修改php配置文件加載oauth擴展
添加extension=”oauth.so”
使用篇:
$req_url = ”;
$authurl = ”;
$acc_url = ”;
$api_url = ”;
$conskey = ‘your_consumer_key’;
$conssec = ‘your_consumer_secret’;
session_start();
// In state=1 the next request should include an oauth_token.
// If it doesn’t go back to 0
if(!isset($_GET[‘oauth_token’]) $_SESSION[‘state’]==1) $_SESSION[‘state’] = 0;
try {
$oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HmacSHA1,OAUTH_AUTH_TYPE_URI);
$oauth-enableDebug();
if(!isset($_GET[‘oauth_token’]) !$_SESSION[‘state’]) {
$request_token_info = $oauth-getRequestToken($req_url);
$_SESSION[‘secret’] = $request_token_info[‘oauth_token_secret’];
$_SESSION[‘state’] = 1;
header(‘Location: ‘.$authurl.’?oauth_token=’.$request_token_info[‘oauth_token’]);
exit;
} else if($_SESSION[‘state’]==1) {
$oauth-setToken($_GET[‘oauth_token’],$_SESSION[‘secret’]);
$access_token_info = $oauth-getAccessToken($acc_url);
$_SESSION[‘state’] = 2;
$_SESSION[‘token’] = $access_token_info[‘oauth_token’];
$_SESSION[‘secret’] = $access_token_info[‘oauth_token_secret’];
}
$oauth-setToken($_SESSION[‘token’],$_SESSION[‘secret’]);
$oauth-fetch(“$api_url/user.json”);
$json = json_decode($oauth-getLastResponse());
print_r($json);
} catch(OAuthException $E) {
print_r($E);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/189315.html