ホームページ バックエンド開発 PHPチュートリアル oauth [PHP] Oauth 認証とローカル暗号化

oauth [PHP] Oauth 認証とローカル暗号化

Jul 28, 2016 am 08:27 AM
oauth

1.Oauth (オープン認証) は、ユーザーがユーザー名とパスワードを提供せずに、Web サイトに保存されているユーザーのプライベート リソース (写真、ビデオ、連絡先リストなど) にサードパーティのアプリケーションがアクセスできるようにするオープン スタンダードです。 party

キーワード: appKey appSecret token(Token)

2.SSOAuthorization

ローカル携帯電話にWeiboクライアントが搭載されている場合は、直接ジャンプ Weiboクライアントに移動、認証ボタンをクリックするだけでログインできます

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();
ログイン後にコピー

上記では、oauth [PHP] Oauth 認証とローカル暗号化について紹介しており、oauth の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP と OAuth: Microsoft ログイン統合の実装 PHP と OAuth: Microsoft ログイン統合の実装 Jul 28, 2023 pm 05:15 PM

PHP と OAuth: Microsoft ログイン統合の実装 インターネットの発展に伴い、便利な登録とログイン エクスペリエンスを提供するために、ユーザーがサードパーティ アカウントを使用してログインできるようにする必要がある Web サイトやアプリケーションがますます増えています。 Microsoft アカウントは世界中で広く使用されているアカウントの 1 つであり、多くのユーザーが Web サイトやアプリケーションにログインするために Microsoft アカウントを使用したいと考えています。 Microsoft ログインの統合を実現するには、OAuth (Open Authorization) プロトコルを使用します。 OAuth は、ユーザーがサードパーティのアプリケーションに代わって動作することを承認できるオープン標準の承認プロトコルです。

PHP の OAuth: JWT 認証サーバーを作成する PHP の OAuth: JWT 認証サーバーを作成する Jul 28, 2023 pm 05:27 PM

PHP での OAuth: JWT 認証サーバーの作成 モバイル アプリケーションの台頭とフロントエンドとバックエンドの分離の傾向により、OAuth は最新の Web アプリケーションに不可欠な部分になりました。 OAuth は、標準化されたプロセスとメカニズムを提供することで、ユーザーのリソースを不正アクセスから保護する承認プロトコルです。この記事では、PHP を使用して JWT (JSONWebTokens) ベースの OAuth 認証サーバーを作成する方法を学びます。 JWT の一種です。

PHP 開発: Laravel Passport を使用した OAuth2 サービス プロバイダーの実装 PHP 開発: Laravel Passport を使用した OAuth2 サービス プロバイダーの実装 Jun 15, 2023 pm 04:32 PM

モバイル インターネットの普及に伴い、ユーザーが自分自身を認証し、許可することを必要とするアプリケーションがますます増えています。 OAuth2 は、これらの機能を実装するための標準化されたメカニズムをアプリケーションに提供する、一般的な認証および認可フレームワークです。 LaravelPassport は、使いやすく安全ですぐに使える OAuth2 サーバー実装であり、PHP 開発者に OAuth2 認証と認可を構築するための強力なツールを提供します。この記事ではLaravelPassportの使い方を紹介します。

PHP と OAuth を使用して Google ドライブを統合する方法 PHP と OAuth を使用して Google ドライブを統合する方法 Jul 31, 2023 pm 04:41 PM

PHP と OAuth を使用して GoogleDrive を統合する方法 GoogleDrive は、ユーザーがクラウドにファイルを保存し、他のユーザーと共有できるようにする人気のクラウド ストレージ サービスです。 GoogleDriveAPI を通じて、PHP を使用して GoogleDrive と統合するコードを記述し、ファイルのアップロード、ダウンロード、削除、その他の操作を実装できます。 GoogleDriveAPI を使用するには、OAuth 経由で認証する必要があります。

PHPでOAuth2を使用するにはどうすればよいですか? PHPでOAuth2を使用するにはどうすればよいですか? Jun 01, 2023 am 08:31 AM

OAuth2 は、ユーザー名やパスワードを直接送信せずに、Google、Facebook、Twitter などのソーシャル ネットワークなどのサードパーティ アプリケーションにユーザー リソースへのアクセスを許可する、広く使用されているオープン標準プロトコルです。 PHP では、既製の OAuth2 ライブラリを使用して OAuth2 フローを簡単に実装したり、独自のライブラリを構築して実装したりできます。この記事では、既製の OAuth2 ライブラリの使用と、それを介して OAut を使用する方法に焦点を当てます。

OAuth2認証方式とPHPでの実装 OAuth2認証方式とPHPでの実装 Aug 07, 2023 pm 10:53 PM

OAuth2 認証方法と PHP での実装 インターネットの発展に伴い、サードパーティのプラットフォームと対話する必要があるアプリケーションがますます増えています。ユーザーのプライバシーとセキュリティを保護するために、多くのサードパーティ プラットフォームは OAuth2 プロトコルを使用してユーザー認証を実装しています。この記事では、OAuth2 認証方法と PHP での実装を紹介し、対応するコード例を添付します。 OAuth2 は、ユーザーがサードパーティのアプリケーションが別のサービス プロバイダー上のリソースにアクセスすることを、何も言及せずに承認できるようにする承認フレームワークです。

PHP を使用して OAuth2.0 を実装する最良の方法 PHP を使用して OAuth2.0 を実装する最良の方法 Jun 08, 2023 am 09:09 AM

OAuth2.0 は、サードパーティのアプリケーションがユーザー リソースにアクセスすることを承認するために使用されるプロトコルであり、現在インターネット分野で広く使用されています。インターネット ビジネスの発展に伴い、OAuth2.0 プロトコルをサポートする必要があるアプリケーションがますます増えています。この記事では、PHP を使用して OAuth2.0 プロトコルを実装する最適な方法を紹介します。 1. OAuth2.0 の基礎知識 OAuth2.0 の実装を紹介する前に、OAuth2.0 の基礎知識を理解する必要があります。認可タイプ OAuth2.0 プロトコルが決定されました

Laravel開発: Laravel Passportを使用してAPI OAuth2認証を実装するにはどうすればよいですか? Laravel開発: Laravel Passportを使用してAPI OAuth2認証を実装するにはどうすればよいですか? Jun 13, 2023 pm 11:13 PM

API の使用がさらに普及するにつれて、API のセキュリティとスケーラビリティの保護がますます重要になります。 OAuth2 は、アプリケーションが認可を通じて保護されたリソースにアクセスできるようにする API セキュリティ プロトコルとして広く採用されています。 OAuth2 認証を実装するために、LaravelPassport はシンプルで柔軟な方法を提供します。この記事では、LaravelPassport を使用して APIOAuth2 認証を実装する方法を学びます。ラール

See all articles