OAuth
→OAuth 2.0
BASIC認証は実装が簡単な一方で、セキュリティ面で不安がある。Twitter APIの利用についていえば、Twitterと連携した外部サービスを利用するために、Twitterのユーザー名とパスワードを第三者に渡してしまうことが特に問題となる。
これはつまり、ユーザーがTwitterで行える全権限を第三者に与えてしまっているのに等しい。これを改善するものとして、ユーザー名とパスワードとはひも付かないトークンベースで、あらかじめ決められたAPIのアクセスのみを許可しようというのが「OAuth認証」だ。
OAuth認証はその認証プロセスを見て分かるように、認証画面はOAuthプロバイダー側に遷移する(認証完了後、OAuthコンシューマーが指定したコールバックURLに遷移)ため、Webブラウザが立ち上がる。
例えばiPhoneアプリの開発であれば、WebKitフレームワーク「UIWebView」のdelegateでコールバックの呼び出しをみて、そこからトークンを取得するような“行儀の悪い”方法で回避できるかもしれないが、
モバイルアプリケーションを含めたデスクトップアプリケーションとの親和性がお世辞にも高いとはいえない認証方式だった。
https://www.itmedia.co.jp/enterprise/articles/1004/28/news012.html
そこで2010年になって登場したのが、もう1つの認証方式である「xAuth」だ。xAuthはOAuth認証の仕組みからRequest Tokenの取得と認証を省略したもので、Webブラウザで認証画面を開く必要はない。
Twitterが行いたかったのは、ユーザーのクレデンシャルを外部にさらすことなくAPIへのアクセス権を別のアプリケーションに譲渡することだったため、OpenIDで解決できるはずもなかった。
https://www.atmarkit.co.jp/fsecurity/special/106oauth/oauth01.html