Heim Backend-Entwicklung PHP-Tutorial oauth [PHP] Oauth授权和本地加密

oauth [PHP] Oauth授权和本地加密

Jul 28, 2016 am 08:27 AM
oauth

1.Oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方

 

关键字:appKey appSecret token(令牌)

 

2.SSO授权

如果本地手机装有微博客户端,则直接跳转到微博客户端,只需点击授权按钮,就可以登陆了

 

qq第三方登陆使用Oauth2.0实现,测试代码

点击下面的连接

https://graph.qq.com/oauth2.0/authorize?resp//www.qingguow.cn/sso.php

 

具体代码sso.php文件:

<span>php
</span><span>//</span><span> qq登陆类</span><span>class</span><span> Sso{
    </span><span>const</span> APP_ID="101334262"<span>;
    </span><span>const</span> APP_KEY="xxxxxxxxxxxxxxx"<span>;
    </span><span>//</span><span>初始化</span><span>public</span><span>static</span><span>function</span><span> init(){
        </span><span>header</span>("content-type:text/html;charset=utf-8"<span>);
    }
        </span><span>//</span><span>主函数</span><span>public</span><span>static</span><span>function</span><span> main(){
        </span><span>//</span><span>请求控制</span><span>$action</span>=<span>$_GET</span>['action'<span>];
        </span><span>if</span>(!<span>empty</span>(<span>$action</span><span>)){
            Sso</span>::<span>$action</span><span>();
            </span><span>return</span><span>;
        }
       
        </span><span>$par</span> = 'grant_type=authorization_code'
        . '&client_id='.Sso::<span>APP_ID
        </span>. '&client_secret='.Sso::<span>APP_KEY
        </span>. '&code='.<span>$_REQUEST</span>['code'<span>]
        </span>. '&redirect_uri='.<span>urlencode</span>('http://www.qingguow.cn/sso.php'<span>);
        </span><span>$rec</span>=Sso::postUrlContents("https://graph.qq.com/oauth2.0/token",<span>$par</span><span>);
        </span><span>if</span>(<span>strpos</span>(<span>$rec</span>, 'access_token') !== <span>false</span><span>) {
            </span><span>parse_str</span>(<span>$rec</span>, <span>$accessToken</span><span>);
            </span><span>$openidJson</span>=Sso::getUrlContents("https://graph.qq.com/oauth2.0/me?callback=callback&access_token={<span>$accessToken</span>['access_token']}"<span>);
            </span><span>$openidJson</span>=<span>str_replace</span>("callback( ", "", <span>$openidJson</span><span>);
            </span><span>$openidJson</span>=<span>str_replace</span>(");", "", <span>$openidJson</span><span>);
            </span><span>$openidJson</span>=json_decode(<span>$openidJson</span>,<span>true</span><span>);
            </span><span>header</span>("location:sso.php?action=getQQinfo&openid={<span>$openidJson</span>['openid']}&access_token={<span>$accessToken</span>['access_token']}"<span>);
        }
    }
    </span><span>//</span><span>获取用户信息</span><span>public</span><span>static</span><span>function</span><span> getQQinfo(){
        Sso</span>::<span>init();
        </span><span>$openid</span>=<span>$_GET</span>['openid'<span>];
        </span><span>$access_token</span>=<span>$_GET</span>['access_token'<span>];
        </span><span>$userJson</span>=Sso::getUrlContents("https://graph.qq.com/user/get_user_info?openid={<span>$openid</span>}&access_token={<span>$access_token</span>}&oauth_c>APP_ID);
        <span>$user</span>=json_decode(<span>$userJson</span>,<span>true</span><span>);
        </span><span>print_r</span>(<span>$user</span><span>);
    }
    </span><span>//</span><span>get方式请求数据</span><span>public</span><span>static</span><span>function</span> getUrlContents(<span>$url</span><span>){
        </span><span>$ch</span> =<span> curl_init();
        curl_setopt(</span><span>$ch</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_HEADER, <span>false</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_FOLLOWLOCATION, <span>true</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_URL, <span>$url</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_REFERER, <span>$url</span><span>);
        curl_setopt(</span><span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>TRUE</span><span>);
        </span><span>$result</span> = curl_exec(<span>$ch</span><span>);
        curl_close(</span><span>$ch</span><span>);
        </span><span>return</span><span>$result</span><span>;
    }
    </span><span>//</span><span>post请求数据</span><span>public</span><span>static</span><span>function</span> postUrlContents(<span>$url</span>,<span>$data</span> = <span>null</span><span>){
        </span><span>$curl</span> =<span> curl_init();
        curl_setopt(</span><span>$curl</span>, CURLOPT_URL, <span>$url</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYHOST, <span>FALSE</span><span>);
        </span><span>if</span> (!<span>empty</span>(<span>$data</span><span>)){
        curl_setopt(</span><span>$curl</span>, CURLOPT_POST, 1<span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_POSTFIELDS, <span>$data</span><span>);
        }
        curl_setopt(</span><span>$curl</span>, CURLOPT_RETURNTRANSFER, 1<span>);
        </span><span>$output</span> = curl_exec(<span>$curl</span><span>);
        curl_close(</span><span>$curl</span><span>);
        </span><span>return</span><span>$output</span><span>;
    }

}
Sso</span>::main();
Nach dem Login kopieren

以上就介绍了oauth [PHP] Oauth授权和本地加密,包括了oauth方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

OAuth in PHP: Erstellen Sie einen JWT-Autorisierungsserver OAuth in PHP: Erstellen Sie einen JWT-Autorisierungsserver Jul 28, 2023 pm 05:27 PM

OAuth in PHP: Erstellen eines JWT-Autorisierungsservers Mit dem Aufkommen mobiler Anwendungen und dem Trend zur Trennung von Front-End und Back-End ist OAuth zu einem unverzichtbaren Bestandteil moderner Webanwendungen geworden. OAuth ist ein Autorisierungsprotokoll, das die Ressourcen der Benutzer vor unbefugtem Zugriff schützt, indem es standardisierte Prozesse und Mechanismen bereitstellt. In diesem Artikel erfahren Sie, wie Sie mit PHP einen auf JWT (JSONWebTokens) basierenden OAuth-Autorisierungsserver erstellen. JWT ist eine Art von

PHP-Entwicklung: Implementierung eines OAuth2-Dienstanbieters mit Laravel Passport PHP-Entwicklung: Implementierung eines OAuth2-Dienstanbieters mit Laravel Passport Jun 15, 2023 pm 04:32 PM

Mit der Popularität des mobilen Internets erfordern immer mehr Anwendungen, dass sich Benutzer authentifizieren und autorisieren. OAuth2 ist ein beliebtes Authentifizierungs- und Autorisierungsframework, das Anwendungen einen standardisierten Mechanismus zur Implementierung dieser Funktionen bietet. LaravelPassport ist eine benutzerfreundliche, sichere und sofort einsatzbereite OAuth2-Serverimplementierung, die PHP-Entwicklern leistungsstarke Tools zum Erstellen der OAuth2-Authentifizierung und -Autorisierung bietet. In diesem Artikel wird die Verwendung von LaravelPassport vorgestellt

PHP und OAuth: Implementierung der Microsoft Login-Integration PHP und OAuth: Implementierung der Microsoft Login-Integration Jul 28, 2023 pm 05:15 PM

PHP und OAuth: Implementierung der Microsoft-Login-Integration Mit der Entwicklung des Internets müssen immer mehr Websites und Anwendungen Benutzer dabei unterstützen, sich über Konten von Drittanbietern anzumelden, um eine bequeme Registrierungs- und Login-Erfahrung zu ermöglichen. Das Microsoft-Konto ist eines der weltweit am häufigsten verwendeten Konten, und viele Benutzer möchten sich mit einem Microsoft-Konto bei Websites und Anwendungen anmelden. Um die Microsoft-Anmeldeintegration zu erreichen, können wir das OAuth-Protokoll (Open Authorization) verwenden. OAuth ist ein offenes Standardautorisierungsprotokoll, das es Benutzern ermöglicht, Anwendungen von Drittanbietern zu autorisieren, in ihrem Namen zu handeln

So führen Sie die Google Drive-Integration mit PHP und OAuth durch So führen Sie die Google Drive-Integration mit PHP und OAuth durch Jul 31, 2023 pm 04:41 PM

So führen Sie die GoogleDrive-Integration mit PHP und OAuth durch. GoogleDrive ist ein beliebter Cloud-Speicherdienst, der es Benutzern ermöglicht, Dateien in der Cloud zu speichern und sie mit anderen Benutzern zu teilen. Über GoogleDriveAPI können wir PHP verwenden, um Code zur Integration in GoogleDrive zu schreiben, um das Hochladen, Herunterladen, Löschen und andere Vorgänge von Dateien zu implementieren. Um GoogleDriveAPI verwenden zu können, müssen wir uns über OAuth authentifizieren

Laravel-Entwicklung: Wie implementiert man die API-OAuth2-Authentifizierung mit Laravel Passport? Laravel-Entwicklung: Wie implementiert man die API-OAuth2-Authentifizierung mit Laravel Passport? Jun 13, 2023 pm 11:13 PM

Da die Verwendung von APIs immer weiter verbreitet wird, wird der Schutz der Sicherheit und Skalierbarkeit von APIs immer wichtiger. OAuth2 hat sich zu einem weit verbreiteten API-Sicherheitsprotokoll entwickelt, das Anwendungen den Zugriff auf geschützte Ressourcen durch Autorisierung ermöglicht. Zur Implementierung der OAuth2-Authentifizierung bietet LaravelPassport eine einfache und flexible Möglichkeit. In diesem Artikel erfahren Sie, wie Sie die APIOAuth2-Authentifizierung mit LaravelPassport implementieren. Lar

OAuth2-Authentifizierungsmethode und Implementierung in PHP OAuth2-Authentifizierungsmethode und Implementierung in PHP Aug 07, 2023 pm 10:53 PM

OAuth2-Authentifizierungsmethode und Implementierung in PHP Mit der Entwicklung des Internets müssen immer mehr Anwendungen mit Plattformen von Drittanbietern interagieren. Um die Privatsphäre und Sicherheit der Benutzer zu schützen, verwenden viele Plattformen von Drittanbietern das OAuth2-Protokoll zur Implementierung der Benutzerauthentifizierung. In diesem Artikel stellen wir die OAuth2-Authentifizierungsmethode und -Implementierung in PHP vor und fügen entsprechende Codebeispiele bei. OAuth2 ist ein Autorisierungsframework, das es Benutzern ermöglicht, Anwendungen von Drittanbietern ohne Angabe von Gründen den Zugriff auf ihre Ressourcen bei einem anderen Dienstanbieter zu autorisieren

Verwendung von Spring Security OAuth2 zur Authentifizierung in der Java-API-Entwicklung Verwendung von Spring Security OAuth2 zur Authentifizierung in der Java-API-Entwicklung Jun 18, 2023 pm 11:03 PM

Mit der kontinuierlichen Entwicklung des Internets werden immer mehr Anwendungen mithilfe einer verteilten Architektur entwickelt. In einer verteilten Architektur ist die Authentifizierung eines der kritischsten Sicherheitsprobleme. Um dieses Problem zu lösen, implementieren Entwickler normalerweise die OAuth2-Authentifizierung. SpringSecurityOAuth2 ist ein häufig verwendetes Sicherheitsframework für die OAuth2-Authentifizierung und eignet sich sehr gut für die Java-API-Entwicklung. In diesem Artikel wird die Entwicklung in JavaAPI vorgestellt

So verwenden Sie PHP und OAuth für die QQ-Login-Integration So verwenden Sie PHP und OAuth für die QQ-Login-Integration Jul 31, 2023 pm 12:37 PM

Einführung in die Verwendung von PHP und OAuth für die QQ-Anmeldeintegration: Mit der Entwicklung sozialer Medien beginnen immer mehr Websites und Anwendungen, Anmeldefunktionen von Drittanbietern bereitzustellen, um Benutzern eine schnelle Registrierung und Anmeldung zu erleichtern. Als eine der größten Social-Media-Plattformen Chinas ist QQ auch zu einem Anmeldedienst von Drittanbietern geworden, der von vielen Websites und Anwendungen bereitgestellt wird. In diesem Artikel werden die Schritte zur Verwendung von PHP und OAuth für die QQ-Login-Integration anhand von Codebeispielen vorgestellt. Schritt 1: Registrieren Sie sich als QQ-Open-Plattform-Entwickler. Bevor Sie mit der Integration von QQ-Login beginnen, muss ich Folgendes tun:

See all articles