OAuth
2023-03-24 (金) 20:51:32
OAuth とは †
名称 †
- オーオース
概要 †
- https://tools.ietf.org/wg/oauth/
- 認可のプロトコル
- 権限委譲のプロトコル
- ユーザのリソースへのアクセス権限をサードパーティのアプリ(ネイティブアプリ・Webアプリ)に委譲することができる。
- サードパーティのアプリにおいてユーザのクレデンシャル(ID・パスワードなど)を教える必要がない。
OAuthのバージョン †
- OAuth1.0
- RFC 5849
- OAuth2.0
- RFC 6749
構成要素 †
- SP(Service Provider) -サービスプロバイダ ※サーバ
- OAuthに対応したAPIを提供するWebサービス。
- Consumer -コンシューマ ※クライアント
- SPのAPIへのアクセス認可を受け、APIにアクセスするアプリケーション。
- ユーザ ※リソースオーナー
- SPのWebサービスに自身のアカウントを持ち、Consumerのアプリケーションを利用するユーザ。認可の可否を行う。
- コンシューマキー
- SPがConsumerを一意に識別するためのID。
- リクエストトークン
- ConsumerがAPIへのアクセス認可を受けてアクセストークンを取得するまでの、未認可のトークン。
- アクセストークン
- ConsumerがAPIへのアクセス認可を受け、SPから取得する文字列。
- このアクセストークを用いてSPにアクセスすることで、認証を必要とするAPIにアクセスできるようになる。
OAuthのユースケース †
- 外部のWebサービスとのAPI連携
- Webサービス機能の連携(API経由でWebサービスの機能を実行する)
- ID連携(API経由で属性情報を取得する)
解説サイト †
- 非技術者のための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
関連用語 †
- シングルサインオン
- ソーシャルログイン
- マッシュアップ
- 認証
- Financial API
- OpenID
- OpenID Connect
- PKCE -認可コード横取り攻撃対策
- WebAPI