1. OAuthプロトコルとは
OAuth(オープン認証)はオープンスタンダードです。
ユーザーの承認を前提として、サービスプロバイダーによってユーザーが保存したさまざまな情報にサードパーティのウェブサイトがアクセスできるようにします。
そして、この承認では、ユーザーがサードパーティの Web サイトにユーザー名とパスワードを提供する必要はありません。
OAuth を使用すると、ユーザーはサードパーティの Web サイトにトークンを提供でき、トークンは特定のサードパーティ Web サイトに対応し、そのトークンは特定の時間内に特定のリソースにのみアクセスできます。
2. OAuth の原理と認可プロセス
OAuth の認証と認可プロセスに関与する 3 つの当事者には以下が含まれます:
サービスプロバイダー: ユーザーが使用するサービスのプロバイダー。通常、メッセージ、写真、ビデオ、連絡先、ファイルなど (Twitter、Sina Microwave など)。
ユーザー: サービスプロバイダーのユーザー
サードパーティ: 通常、サービスプロバイダーに保存されているユーザーの情報にアクセスしようとする Web サイト。
たとえば、写真印刷サービスを提供する Web サイトで、ユーザーがサービス プロバイダーに保存されているオンライン フォト アルバムを印刷したいとします。
認証プロセスの前に、サードパーティはサービスプロバイダーにサードパーティサービスの一意の識別子を申請する必要があります。
OAuth 認証と認可のプロセスは次のとおりです:
1. ユーザーがサードパーティの Web サイトにアクセスし、ユーザーがサービス プロバイダーに保存している特定のリソースを操作したいとします。
2. サードパーティの Web サイトは、サービスプロバイダーに一時トークンを要求します。
3. サービスプロバイダーは、サードパーティの Web サイトの身元を確認した後、一時的なトークンを付与します。
4. サードパーティ Web サイトが一時トークンを取得すると、ユーザーはサービス プロバイダーの認証ページに誘導され、その過程で一時トークンとサードパーティ Web サイトの返信アドレスが送信されます。サービスプロバイダーに送信されます。
5. ユーザーは、サービスプロバイダーの認証ページにユーザー名とパスワードを入力して、サードパーティの Web サイトが対応するリソースにアクセスすることを許可します。
6. 認証が成功すると、サービスプロバイダーはユーザーをサードパーティの Web サイトの返信先アドレスに誘導します。
7. サードパーティの Web サイトは、一時トークンに基づいてサービスプロバイダーからアクセストークンを取得します。
8. サービスプロバイダーは、トークンとユーザー認証に基づいてサードパーティの Web サイトへのアクセス トークンを付与します。
9. サードパーティの Web サイトは、取得したアクセス トークンを使用して、サービス プロバイダーに保存されている対応するユーザー リソースにアクセスします。
3. 現在 OAuth をサポートしている Web サイトは何ですか?
t.sina.com.cn
t.qq.com
t.sohu.com
t.163.com
www.douban.com
www.twitter.com
www.facebook. com
Google Buzz
インターフェイス: /oauth/token?
/oauth/token?
参数: (grant_type是写死的,其它的两个自定义)
grant_type=password
username=development@cybergate-tech.com
password=oQd-BfT-cer-7LP
完整的样例:http://localhost:9000/oauth/token?grant_type=password&username=development@cybergate-tech.com&password=oQd-BfT-cer-7LP
返回结果样例:
{ "access_token": "beeaa54e-8391-4de0-8ba6-ce145b3fb812", "token_type": "bearer", "refresh_token": "8129769a-d804-46c7-856a-3bacd409b650", "expires_in": 3599, "scope": "read write" }
接口:http://localhost:9000/oauth/token?
参数:(refresh_token是根据1中的来定的.其它参数是写死的)
client_id=dashboard
client_secret=secret
grant_type=refresh_token
refresh_token=43dca105-627e-4f50-86e8-0c22c2f3abe9
样例: http://localhost:9000/oauth/token?client_id=dashboard&client_secret=secret&grant_type=refresh_token&refresh_token=43dca105-627e-4f50-86e8-0c22c2f3abe9
http://localhost:9000/ oauth/token?grant_type=パスワード&ユーザー名=development@cybergate-tech.com&password=oQd-BfT-cer-7LP
🎜🎜戻り結果の例:🎜{ "access_token": "0135c92b-12ab-4af9-88f4-97ef85115e71", "token_type": "bearer", "refresh_token": "75d209b5-a30d-43a8-abcd-850e7fb62e76", "expires_in": 3599, "scope": "read write" }
http://localhost:9000/oauth /token?
🎜🎜パラメータ: (refresh_token は 1 に基づいて決定されます。他のパラメータはハードコードされています)🎜http://localhost:9000/oauth/token?client_id=dashboard&client_secret=secret&grant_type=refresh_token&refresh_token=43dca105-627e-4f50-86e8-0c22c2f3abe 9🎜🎜戻り結果🎜rrreee
以上がoAuth認証と認可の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。