国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

PHP擴展之Web服務(一)——OAuth

瀏覽:2日期:2022-09-16 09:32:56
一、概述及安裝

此擴展提供 OAuth 消費方和提供方之間的綁定。OAuth 是一種建立在 HTTP 之上的授權(quán)協(xié)議,用于允許應用程序安全訪問數(shù)據(jù)而無需存儲用戶名和密碼。

PECL/oauth 需要 PHP 5.1 或更高版本,以及 ext/hash 和 ext/pcre 。

如果在構(gòu)建時選擇 PECL/oauth 則可選擇性地需要 libcurl 。如果使用 libcurl 配置,則必須構(gòu)建 HTTPS 支持。

安裝此 PECL 擴展相關(guān)的信息可在手冊中標題為?PECL 擴展的安裝章節(jié)中找到。

二、使用范例

<?php$req_url?=?’https://fireeagle.yahooapis.com/oauth/request_token’;$authurl?=?’https://fireeagle.yahoo.net/oauth/authorize’;$acc_url?=?’https://fireeagle.yahooapis.com/oauth/access_token’;$api_url?=?’https://fireeagle.yahooapis.com/api/0.1’;$conskey?=?’your_consumer_key’;$conssec?=?’your_consumer_secret’;session_start();//??當?state=1?則下次請求應該包含一個?oauth_token?。//??如果沒有則返回?0if(!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);}?>三、相關(guān)函數(shù)oauth_get_sbs?— 生成一個簽名字符基串oauth_urlencode?— 將 URI 編碼為 RFC 3986 規(guī)范四、相關(guān)類及其成員函數(shù)

OAuth類

OAuth::__construct?— 新建一個 OAuth 對象OAuth::__destruct?— 析構(gòu)函數(shù)OAuth::disableDebug?— 關(guān)閉詳細的調(diào)試OAuth::disableRedirects?— 關(guān)閉重定向OAuth::disableSSLChecks?— 關(guān)閉 SSL 檢查OAuth::enableDebug?— 啟用詳細調(diào)試OAuth::enableRedirects?— 啟用重定向OAuth::enableSSLChecks?— 啟用 SSL 檢查OAuth::fetch?— 獲取一個 OAuth 受保護的資源OAuth::generateSignature?— 生成一個簽名OAuth::getAccessToken?— 獲取一個訪問令牌OAuth::getCAPath?— 獲取 CA 信息OAuth::getLastResponse?— 獲取最后一次的響應OAuth::getLastResponseHeaders?— 獲取最后一次響應的頭信息OAuth::getLastResponseInfo?— 獲取關(guān)于最后一次響應的 HTTP 信息OAuth::getRequestHeader?— 生成 OAuth 頭信息字符串簽名OAuth::getRequestToken?— 獲取一個請求令牌OAuth::setAuthType?— 設置授權(quán)類型OAuth::setCAPath?— 設置 CA 路徑和信息OAuth::setNonce?— 為后續(xù)請求設置現(xiàn)時標志OAuth::setRequestEngine?— 設置目標請求引擎OAuth::setRSACertificate?— 設置 RSA 證書OAuth::setSSLChecks?— 調(diào)整特定的SSL請求檢查OAuth::setTimestamp?— 設置時間戳OAuth::setToken?— 設置令牌和 secretOAuth::setVersion?— 設置 OAuth 版本

OAuthProvider 類

OAuthProvider::addRequiredParameter?— 添加必需的參數(shù)OAuthProvider::callconsumerHandler?— 調(diào)用 consumerNonceHandler 回調(diào)函數(shù)OAuthProvider::callTimestampNonceHandler?— 調(diào)用 timestampNonceHandler 回調(diào)函數(shù)OAuthProvider::calltokenHandler?— 調(diào)用 tokenNonceHandler 回調(diào)函數(shù)OAuthProvider::checkOAuthRequest?— 檢查一個 oauth 請求OAuthProvider::__construct?— 新建一個 OAuthProvider 對象OAuthProvider::consumerHandler?— 設置 consumerHandler 句柄回調(diào)函數(shù)OAuthProvider::generateToken?— 生成一個隨機令牌OAuthProvider::is2LeggedEndpoint?— is2LeggedEndpointOAuthProvider::isRequestTokenEndpoint?— 設置 isRequestTokenEndpointOAuthProvider::removeRequiredParameter?— 移除一個必需的參數(shù)OAuthProvider::reportProblem?— 報告問題OAuthProvider::setParam?— 設置一個參數(shù)OAuthProvider::setRequestTokenPath?— 設置請求令牌路徑OAuthProvider::timestampNonceHandler?— 設置 timestampNonceHandler 句柄回調(diào)函數(shù)OAuthProvider::tokenHandler?— 設置 tokenHandler 句柄回調(diào)函數(shù)

OAuthException 類

OAuthException?— OAuthException 類
標簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 龙山县| 栾城县| 河东区| 包头市| 砀山县| 娄底市| 弋阳县| 乐山市| 宣武区| 扶沟县| 普洱| 邳州市| 高州市| 治县。| 四川省| 南郑县| 榆中县| 天镇县| 开鲁县| 石屏县| 岳普湖县| 咸丰县| 古蔺县| 贵德县| 大姚县| 黑龙江省| 宝清县| 红安县| 开阳县| 遵义县| 长葛市| 澄江县| 黔江区| 容城县| 寻甸| 克拉玛依市| 双牌县| 千阳县| 巢湖市| 东乡族自治县| 梅河口市|