Live data from Hacker News

Ask HN: What is the best way to add authentication to REST API (for mobile)?

news.ycombinator.com

11–20 of 23 posts

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#11
post #3

JWT is not that complex because there are battle tested libraries available for all languages.

I agree, and I was thinking of using go-jwt but given the bad rap it has received here https://news.ycombinator.com/item?id=13865459 and here https://news.ycombinator.com/item?id=17877332, I'm having second thoughts as I don't want to mess things up. Also, I don't really need a stateless token just something that will allow for authentication from my server, Google OAuth and Facebook OAuth.

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#12

Earlier quoted context omitted.

To clarify for JWT invalidation, you don’t have to store the whole token. Instead just store the jti or some other identifying field that can be checked.

Can you please elaborate on this?

The JWT specification defines a payload attribute named jti which is used to store the token's nonce/id.

To avoid replay attacks, the backend adds the token's nonce to a scratchpad memory when the token is used in order to invalidate the token even if the expiration timestamp isn't reached.

If a JWT implementation is implemented to ignore replay attacks or even token expiration, the jti can still be used to invalidate tokens.

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#13
post #8

If you control both the backend and the front end, just use a session cookie.

The humble session cookie is what I've been using all these years, but now suddenly everyone is saying "JWT". Any advice on the pros and cons of JWT vs session cookies?

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#15
There are pros and cons of JWT but if you are OK with it, it is not complex if you use a library. JWT purists want everything on the token (no database) but if you are OK with using a database, just store the token and delete it to revoke. When authenticating, add a database query (it's not that bad) in addition to the verification of the token

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#16
post #8

If you control both the backend and the front end, just use a session cookie.

The humble session cookie is what I've been using all these years, but now suddenly everyone is saying "JWT". Any advice on the pros and cons of JWT vs session cookies?

No real difference IMHO, JWT just introduces some "standards" for some interoperability. Session cookies could be anything

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#17
post #2

An API Gateway is pretty Quick to set up, but the industry is moving away from it as a concept. Keycloak is nice but requires some work.

> An API Gateway is pretty Quick to set up, but the industry is moving away from it as a concept. Can you elaborate on this?

Seconded - I’d like to hear more behind your reasoning.

Re: Ask HN: What is the best way to add authentication to REST API (for mobile)?

#19
post #8

If you control both the backend and the front end, just use a session cookie.

The humble session cookie is what I've been using all these years, but now suddenly everyone is saying "JWT". Any advice on the pros and cons of JWT vs session cookies?

JWT is a buzzword. Some people are attracted to changing shit for the sake of it, and then encouraging others to use the new thing too, to validate their own use, and feel like they're 'ahead of the curve' on trendy tech.

Rather than rehashing it all myself, I'd suggest reading http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-fo... and https://developer.okta.com/blog/2017/08/17/why-jwts-suck-as-...

Post reply on HN