OAuth の変更点


#author("2022-03-03T21:51:39+09:00","default:k1rou","k1rou")
#author("2023-03-24T20:51:32+09:00","default:k1rou","k1rou")
*OAuth とは [#ide4ee81]
**名称 [#x7ec45ed]
-オーオース

**概要 [#meb18983]
-https://tools.ietf.org/wg/oauth/
-[[認可]]のプロトコル
-権限委譲のプロトコル

-ユーザのリソースへのアクセス権限をサードパーティのアプリ(ネイティブアプリ・Webアプリ)に委譲することができる。
-サードパーティのアプリにおいてユーザのクレデンシャル(ID・パスワードなど)を教える必要がない。

-[[IETF]] が仕様の策定を行っている。
-[[REST]] APIライクな[[JSON]](使用技術)

*OAuthのバージョン [#a88b80e4]
-OAuth1.0
--RFC 5849
-[[OAuth2.0]]
--RFC 6749

*構成要素 [#odec41a4]
-SP(Service Provider) -サービスプロバイダ ※サーバ
--OAuthに対応したAPIを提供するWebサービス。
-Consumer -コンシューマ ※クライアント
--SPのAPIへのアクセス認可を受け、APIにアクセスするアプリケーション。
-ユーザ ※リソースオーナー
--SPのWebサービスに自身のアカウントを持ち、Consumerのアプリケーションを利用するユーザ。認可の可否を行う。
-コンシューマキー
--SPがConsumerを一意に識別するためのID。
-リクエストトークン
--ConsumerがAPIへのアクセス認可を受けてアクセストークンを取得するまでの、未認可のトークン。
-アクセストークン
--ConsumerがAPIへのアクセス認可を受け、SPから取得する文字列。
--このアクセストークを用いてSPにアクセスすることで、認証を必要とするAPIにアクセスできるようになる。

*OAuthのユースケース [#o3c0a3cd]
-外部のWebサービスとのAPI連携
--Webサービス機能の連携(API経由でWebサービスの機能を実行する)
--ID連携(API経由で属性情報を取得する)

*解説サイト [#t5c8771b]
-非技術者のためのOAUTH認証(?)とOPENIDの違い入門(2011/05/15)~
https://www.sakimura.org/2011/05/1087/

-「OAuth」の基本動作を知る(2012/08/27)~
http://www.atmarkit.co.jp/ait/articles/1208/27/news129.html

-「OAuth 2.0」の基本動作を知る (2017.9.1)~
https://www.atmarkit.co.jp/ait/articles/1708/31/news124.html

-Authentication - Twitter Developer Platform~
https://developer.twitter.com/en/docs/authentication/overview

*関連用語 [#k28767a9]
-[[シングルサインオン]]
-[[ソーシャルログイン]]
-[[マッシュアップ]]
-[[認証]]
-[[Financial API]]
-[[OpenID]]
-[[OpenID Connect]]
-[[PKCE]] -認可コード横取り攻撃対策
-[[WebAPI]]