Session Resource パターン
PUT /session (→ログイン) DELETE /session (→ログアウト)
どのようなパターン?
認証のセッション自体をリソースととらえる。Railsでいう「モデル」ではないリソースの典型例。
Railsの認証Gemを使った設計例ではすでに一般的に採用されている。
- Devise
- Sorcery
- OmniAuth
リソースの分類からみる
上記の例だと単数リソースで実現されている。さらに自分に紐付いているものであるとみなして、
PUT /my/session (→ログイン) DELETE /my/session (→ログアウト)
とすると Private Resource パターンとなる。ただしログイン前から /my
が存在するのは少し不自然かもしれない。
コレクションリソースを使って
POST /sessions (→ログイン) DELETE /sessions/{id} (→ログアウト)
と実現することもできるが、こうした場合のid
は何なのかよくわからない。