Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Erweiterung – OAuth

PHP-Erweiterung – OAuth

伊谢尔伦
Freigeben: 2016-11-21 16:55:42
Original
2088 Leute haben es durchsucht

1. Übersicht und Installation

Diese Erweiterung ermöglicht die Bindung zwischen OAuth-Konsumenten und -Anbietern. OAuth ist ein auf HTTP basierendes Autorisierungsprotokoll, das Anwendungen den sicheren Zugriff auf Daten ermöglicht, ohne Benutzernamen und Passwörter zu speichern.

PECL/oauth erfordert PHP 5.1 oder höher sowie ext/hash und ext/pcre.

Erfordert optional libcurl, wenn beim Erstellen PECL/oauth ausgewählt wird. Wenn Sie die libcurl-Konfiguration verwenden, müssen Sie HTTPS-Unterstützung aufbauen.

Informationen zur Installation dieser PECL-Erweiterung finden Sie im Handbuchkapitel mit dem Titel „Installation der PECL-Erweiterung“.

2. Verwendungsbeispiele

<?php
$req_url = &#39;https://fireeagle.yahooapis.com/oauth/request_token&#39;;
$authurl = &#39;https://fireeagle.yahoo.net/oauth/authorize&#39;;
$acc_url = &#39;https://fireeagle.yahooapis.com/oauth/access_token&#39;;
$api_url = &#39;https://fireeagle.yahooapis.com/api/0.1&#39;;
$conskey = &#39;your_consumer_key&#39;;
$conssec = &#39;your_consumer_secret&#39;;
session_start();
//  当 state=1 则下次请求应该包含一个 oauth_token 。
//  如果没有则返回 0
if(!isset($_GET[&#39;oauth_token&#39;]) && $_SESSION[&#39;state&#39;]==1) $_SESSION[&#39;state&#39;] = 0;
try {
    $oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
    $oauth->enableDebug();
    if(!isset($_GET[&#39;oauth_token&#39;]) && !$_SESSION[&#39;state&#39;]) {
        $request_token_info = $oauth->getRequestToken($req_url);
        $_SESSION[&#39;secret&#39;] = $request_token_info[&#39;oauth_token_secret&#39;];
        $_SESSION[&#39;state&#39;] = 1;
        header(&#39;Location: &#39;.$authurl.&#39;?oauth_token=&#39;.$request_token_info[&#39;oauth_token&#39;]);
        exit;
    } else if($_SESSION[&#39;state&#39;]==1) {
        $oauth->setToken($_GET[&#39;oauth_token&#39;],$_SESSION[&#39;secret&#39;]);
        $access_token_info = $oauth->getAccessToken($acc_url);
        $_SESSION[&#39;state&#39;] = 2;
        $_SESSION[&#39;token&#39;] = $access_token_info[&#39;oauth_token&#39;];
        $_SESSION[&#39;secret&#39;] = $access_token_info[&#39;oauth_token_secret&#39;];
    }
    $oauth->setToken($_SESSION[&#39;token&#39;],$_SESSION[&#39;secret&#39;]);
    $oauth->fetch("$api_url/user.json");
    $json = json_decode($oauth->getLastResponse());
    print_r($json);
} catch(OAuthException $E) {
    print_r($E);
}
?>
Nach dem Login kopieren

3. Verwandte Funktionen

oauth_get_sbs – Generieren einer Signaturbasiszeichenfolge

oauth_urlencode – Codieren Sie den URI in die RFC 3986-Spezifikation

4. Verwandte Klassen und ihre Mitgliedsfunktionen

OAuth-Klasse

OAuth::__construct – Erstellen Sie ein neues OAuth-Objekt

OAuth::__destruct – Destruktor

OAuth::disableDebug – ausführliches Debuggen deaktivieren

OAuth::disableRedirects – Weiterleitungen deaktivieren

OAuth::disableSSLChecks – SSL-Prüfung deaktivieren

OAuth::enableDebug – Ausführliches Debuggen aktivieren

OAuth::enableRedirects – Weiterleitungen aktivieren

OAuth::enableSSLChecks – SSL-Prüfungen aktivieren

OAuth::fetch – OAuth-geschützt erhalten Ressource

OAuth::generateSignature – Signatur generieren

OAuth::getAccessToken – Zugriffstoken abrufen

OAuth::getCAPath – CA-Informationen abrufen

OAuth::getLastResponse – Letzte Antwort abrufen

OAuth::getLastResponseHeaders – Header-Informationen der letzten Antwort abrufen

OAuth::getLastResponseInfo – Informationen über die HTTP-Informationen der letzten Antwort abrufen

OAuth::getRequestHeader – OAuth-Header-String-Signatur generieren

OAuth::getRequestToken – Anforderungstoken abrufen

OAuth::setAuthType – Autorisierungstyp festlegen

OAuth: :setCAPath – CA-Pfad und -Informationen festlegen

OAuth::setNonce – Nonce für nachfolgende Anforderungen festlegen

OAuth::setRequestEngine – Zielanforderungs-Engine festlegen

OAuth::setRSACertificate – RSA-Zertifikat festlegen

OAuth::setSSLChecks – Spezifische SSL-Anfrageprüfungen anpassen

OAuth::setTimestamp – Zeitstempel festlegen

OAuth::setToken – Token und Geheimnis festlegen

OAuth::setVersion – OAuth-Version festlegen

OAuthProvider-Klasse

OAuthProvider::addRequiredParameter – Erforderliche Parameter hinzufügen

OAuthProvider::callconsumerHandler – Rufen Sie die Rückruffunktion „consumerNonceHandler“ auf

OAuthProvider::callTimestampNonceHandler – Rufen Sie die Rückruffunktion „timestampNonceHandler“ auf

OAuthProvider::calltokenHandler – Rufen Sie die Rückruffunktion „tokenNonceHandler“ auf

OAuthProvider: :checkOAuthRequest – Überprüfen Sie eine OAuth-Anfrage

OAuthProvider::__construct – Erstellen Sie ein neues OAuthProvider-Objekt

OAuthProvider::consumerHandler – Legen Sie die Rückruffunktion für das ConsumerHandler-Handle fest

OAuthProvider::generateToken – Generieren Sie ein zufälliges Token

OAuthProvider::is2LeggedEndpoint – is2LeggedEndpoint

OAuthProvider::isRequestTokenEndpoint – IsRequestTokenEndpoint festlegen

OAuthProvider::removeRequiredParameter – Einen erforderlichen Parameter entfernen

OAuthProvider::reportProblem – Ein Problem melden

OAuthProvider::setParam – Parameter festlegen

OAuthProvider::setRequestTokenPath – Anforderungstokenpfad festlegen

OAuthProvider::timestampNonceHandler – TimestampNonceHandler-Handle-Callback-Funktion festlegen

OAuthProvider::tokenHandler – TokenHandler-Handle-Rückruffunktion festlegen

OAuthException-Klasse

OAuthException – OAuthException-Klasse


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage