OAuth2とページ遷移

2018-07-03 12:12:00

 Web上では様々なサービスのAPIを利用するのにOAuth2の認証が使われています。OAuth2を使うとWebアプリ開発時に、ユーザが外部サービスを利用する場合に必要な認証情報を管理する必要がなくなります。ユーザIDやパスワードの代わりに、目的の外部サービスを動かすためのトークンを保存しておけば良いのです。

‌ ただ一つ問題があるのは、認証の処理を別サイトに投げなければならないということです。システムを作る上で、極力ページ遷移を避けたいのですが、残念ながらOAuth2だけは回避不能です。ユーザには外部サイトで認証を済ませてもらい、そこで発行されたコードを自分のシステムに持ち帰ってもらい、最終的にトークンを発行するという流れだからです。

‌ また、Webアプリなら認証ページへ飛ばすのは簡単なのですが、コンソールアプリだと大変です。コンソールアプリからOAuth2を利用しようと思ったら、ユーザにトークン発行用のリンクをブラウザへコピペしてもらい、発行されたコードを手動で持ち帰るという格好悪い実装になります。

‌ パスワードをアプリから隔離することを考えれば、仕方が無いといえば仕方が無いのですが、非常に不便です。