Uważam, że możesz przełożyć metody LOGIN & LOGOUT na podstawowe operacje CRUD CREATE & DELETE. Ponieważ tworzysz nowy zasób o nazwie SESSION i niszczysz go podczas wylogowywania:
- POST / login - tworzy sesję
- DELETE / logout - niszczy sesję
Nigdy nie zrobiłbym LOGOUT as GET tylko dlatego, że każdy mógłby przeprowadzić atak po prostu wysyłając wiadomość e-mail z tagiem IMG lub linkiem do strony internetowej, na której taki tag IMG istnieje. ( <img src="youtsite.com/logout" />
)
PS Przez długi czas zastanawiałem się, jak stworzyć RESTful login / logout i okazało się, że to naprawdę proste, robisz to tak, jak opisałem: użyj / session / endpoint z metodami CREATE i DELETE i wszystko jest w porządku. Możesz także użyć UPDATE, jeśli chcesz zaktualizować sesję w taki czy inny sposób ...