HN user

vukers

17 karma
Posts1
Comments7
View on HN

He might be referring to the next tier up, "Prime Fresh", though I haven't come across exact pricing yet:

https://fresh.amazon.com/about

Free for Amazon Prime members! Through the end of September, all Amazon Prime members in eligible zip codes in the New York metro area can use AmazonFresh for free. Sign in with your Amazon account to get started. If you are not an Amazon Prime member, you can start your Amazon Prime 30-day free trial today. After September, you will need a Prime Fresh membership (an upgraded tier of Amazon Prime) to continue enjoying free delivery from AmazonFresh. You will not be automatically charged for Prime Fresh.

Solved by Flexbox 11 years ago

Absolute centering only works when the element you are trying to center has a defined height. If you are trying to center an element with unknown height inside a container with unknown height, the table-cell is likely the front-runner, sadly.

JSON Web Tokens 12 years ago

I've been thinking about the same problem lately and have come up with an approach for my use-case that might work:

* Set expiration to a low value (~15 minutes)

* Every generated JWT also gets added to an "issuedTokens" collection for each user

During JWT validation, if the expiration has passed, an "Expired" response would be returned from the server (ex. 401 w/ "Expired" in body). When the client receives this status, it should initiate a refresh process which trades an expired token for a new one.

The refresh endpoint on the server should take an expired token and perform the following:

1. Validate token (except expiration)

2. Retrieve user ID and check if token is in its issuedTokens collection

3. Issue a new JWT

4. Remove the expired token from the collection and add the new one

Upon failure of any of these steps, an Unauthorized error should be sent to client which then requires logging in again.

To prevent a never-ending build-up of issued tokens, we can set a TTL on the tokens in the issuedTokens collection. Set the TTL value to the amount of time that a login should be active for before requiring logging in again.

This approach doesn't hit the database unless you keep trying to refresh an expired token. In which case you can make use of a cached blacklist of failed tokens. This can reside next to the application itself if treated as a cache layer.

This is definitely just a work-in-progress solution that I'm about to test out. Let me know your thoughts on it.