4章
リソース所有者パスワードクレデンシャルフロー
ユーザ名とパスワードをアクセストークン/リフレッシュトークン(オプション)と交換して使う。セキュリティ上このフローは他のOAuthフローとは異なる性質を持つ。大きな違いは、アプリケーションからユーザのパスワードにアクセスできるということ。そのため、このフローではアプリケーションに対する信頼が必要。
リソース所有者パスワードクレデンシャルフローを使うケース
APIプロバイダが自社でリリースするオフィシャルアプリ内のみで使うことが推奨されている。通常はサードパーティでの使用は認められていない。
セキュリティ特性
アプリケーションからリソース所有者のパスワードにアクセスはできるが、ユーザ名とパスワードを直接使って(HTTP Basic認証など)API呼び出しを行うよりは、このフローを使ったほうが多少はセキュリティ上優れている。Basicい認証の場合はAPIを呼び出すたびに、アプリケーションが毎回ユーザのパスワードにアクセスする必要があり、1つのアプリケーションのユーザデータがアクセスを取り消したい場合、パスワードを変更して他のすべてのアプリケーションに新しいパスワードを設定しなければならない。
リソース所有者パスワードクレデンシャルフローを使えば、アプリケーションがユーザクレデンシャルにアクセスするのは一度だけで十分で、その1回でアクセストークンに交換されるのでクレデンシャルをアプリケーションないで保存する必要もない。
ユーザエクスペリエンス
このフローはパスワードを使ったアクセス要求方法と同じ。アプリケーションがユーザ名とパスワードを要求し、ユーザが入力。次にアプリケーションがサーバサイドまたはクライアントサイドでAPIプロバイダの認可サーバに対するリクエストを生成。