https://levelup.gitconnected.com/authentication-and-authorization-in-api-design-best-practices-for-secure-user-authentication-19579bfc2473