#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]]