The current login functionality implemented with the help of Flask-Login stores data in the user session, which Flask stores by default in a client-side cookie, so the server does not store any user-related information; it asks the client to store it instead. It would appear that this implementation complies with the stateless requirement of REST, but the use of cookies in RESTful web services falls into a gray area, as it can be cumbersome for clients that are not web browsers to implement them. For that rea‐ son, it is generally seen as a bad design choice to use cookies in APIs.
https://stackoverflow.com/a/59826012/ says:
Session-based authentication is stateful. This means that an authentication record or session must be kept both server and client-side. The backend keeps track of the active sessions in a database, while on the front-end a cookie is created that holds a session identifier.
https://dzone.com/articles/cookies-vs-tokens-the-definitive-guide says
Cookie-based authentication is stateful. This means that an authentication record or session must be kept both server and client-side. The server needs to keep track of active sessions in a database, while on the front-end a cookie is created that holds a session identifier, thus the name cookie based authentication.
Is it correct that session based authentication is the same as cookie-based authentication?
Does session/cookie based authentication store user/session/... on server side?
Is it stateful or stateless?
Is the difference between cookie based and token based authentication exactly that the former is not signed, while the latter is?
Thanks.