generated at
OAuth
用語
認可サーバ
アクセストークンを発行する。
ユーザは、認可サーバのアカウントを持っている必要がある。

リソースサーバ
許可した権限で自由にアクセスできる対象。
Twitter等であれば、認可サーバと同一。

クライアント
アプリケーション。
認可サーバにアプリケーションを登録し、ID(client_idとclient_secret。クレデンシャルとも呼ぶ)を取得する必要がある。

スコープ

Client Secret
認可サーバとの間でのクライアント認証に利用する。

フロー
4種類のフローを提供している。

Authorization Code
通常のフロー。
client_secret を使って、認可サーバとの間でクライアント認証ができる。
state パラメータの指定は任意であるが、CSRF対策のために、常に指定する。

Refresh Tokenを利用すると、Access Tokenを適宜再発行できる。

Implicit Grant
client_secret なしでアクセスできるパターン。
ネイティブアプリ(iPhone/Android等)やJavaScriptアプリでの利用を想定されている。
state パラメータの利用が強く推奨される。

Resource Owner Credenials Grant
Client Credentials Grant

クライアントタイプ

参考

Node.js
> OAuth Middleware for Express, Koa and Hapi