OAuthOpen Authorization
OAuth は、ユーザーのパスワードを渡さず第三者アプリにリソースアクセス権を委譲するための認可プロトコルです。OAuth 1.0 (RFC 5849) と現行の OAuth 2.0 があります。
詳細解説
OAuth は、Twitter API 黎明期に生まれた「認可委譲」の標準プロトコルで、ユーザーのパスワードを直接サードパーティに渡すことなく、限定権限のアクセストークンで API 利用を許可する仕組みを定めます。OAuth 1.0 (RFC 5849) は HMAC-SHA1 署名で複雑、OAuth 2.0 (RFC 6749) はトークンベースでシンプル化され主流になりました。OAuth は厳密には「認可 (Authorization)」プロトコルであり、「認証 (Authentication)」には OpenID Connect が上位レイヤーで使われます。役割は Resource Owner (利用者) / Client (アプリ) / Authorization Server (認可サーバー) / Resource Server (API) の4者で、scope によって権限の粒度を制御します。Twitter / GitHub / Google / Facebook の「○○でログイン」の裏側で利用されています。
実装例 / 使い方
- 01X (Twitter) API v2 は OAuth 2.0 PKCE フローが推奨
- 02GitHub Apps は OAuth 2.0 で repo スコープのトークンを発行
- 03OAuth 1.0a は HMAC-SHA1 署名で nonce + timestamp が必要
関連する用語
OAuth 2.0
OAuth 2.0 Authorization FrameworkOAuth 2.0 は、複数のグラントタイプ (認可コード・PKCE・クライアントクレデンシャル等) を持つ認可フレームワークで、RFC 6749 と関連 RF...
OpenID Connect
OIDCOpenID Connect (OIDC) は、OAuth 2.0 を拡張してユーザー認証情報を ID Token (JWT) で標準化した認証プロトコルです。...
JWT
JSON Web TokenJWT (JSON Web Token) は、ヘッダー・ペイロード・署名の3パートをドット区切りで連結したトークン形式で、認証情報を改ざん検知付きで伝達できます...
SAML
Security Assertion Markup LanguageSAML は、企業向け SSO で広く使われる XML ベースの認証連携プロトコルで、IdP と SP の間で認証アサーションを交換します。SAML 2.0 が...
OAuthを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
