Re:Show HN: OAuth microservice for FB, Twitter, etc.
by aisofteng on Tuesday July 04, 2017 @09:00PM
(#14699324)
"Stateless authentication microservice" has only one possible meaning to me. Did you want to ask something more specific, or do you just not know what those (common) words mean?
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by Sujan on Wednesday July 05, 2017 @03:44AM
(#14700558)
The me it means... nothing specific.
It tells me that is has something to do with login, "without state" (whatever this means in this context) and that it is somehow not a "big service" but very "micro", so probably independent. Stateless and microservice can mean so many things.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by aisofteng on Wednesday July 05, 2017 @08:17AM
(#14701765)
Those words have one meaning each.
A microservice is a service that does only one thing, and does it simply.
Something stateless doesn't keep state - after an interaction with a client, nothing has changed in the service itself.
A stateless authentication microservice is something I would expect to run, listen on a port for some sort of authentication credentials, and return either some sort of authorizarion token or an authentication error.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by dtech81 on Tuesday July 04, 2017 @01:54PM
(#14697272)
Nope, but a ticket helps them track it, helps make your request more durable, more likely to be developed into a higher resolution of detail, and ultimately more likely to be fulfilled.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by saganus on Tuesday July 04, 2017 @10:44AM
(#14696132)
So what's exactly the use case for this? I'm not entirely sure.
Let's say I deploy it. Users of whatever service I provide use this to login to Google, Twitter, etc, then what? do I need to also implement something on the servers I'm protecting behind a login? I.e. some "verification" method that checks whether the client's JWT tokens are valid so I can grant them access?
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by fitz2001 on Tuesday July 04, 2017 @11:02AM
(#14696229)
It's helpful if you want your website/webapp to support login with X (Google, Facebook, etc). Your services on the same domain can than use these credentials and eventually use the respective API's with the per-user key.
All you need to do is: a) get key/secret for the respective service b) deploy this microservice with the respective env variables
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by nielsole on Tuesday July 04, 2017 @11:06AM
(#14696264)
"On successful login two cookies will be created:
jwt - A "JSON Web Token" (JWT) containing profile information and the respective access tokens (Twitter/etc). http-only!
profile - A JSON string which containing non-sensitive information (accessible from browser JS):
username - string / mandatory, the account specific user alias (e.g. Twitter name) - photo - string / optional, the account specific user image link
name - string / optional, the "real" name
"
This looks like just enough rope to hang oneself. If you check only the profile variable it could easily be set by the user herself. So I guess you need to check the jwt.
I guess it makes more sense if this would be run as reverse proxy so the cookies can't be tampered with.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by hultner on Tuesday July 04, 2017 @12:19PM
(#14696703)
How does it handle revoked and expired sessions?
From my prior research this seems to be a problem with the JWT which would either require distribution of ever growing blacklists or session verification through shared server side sessions.
Would also love to see some API documentation.
I really like the idea and always reimplementing login services seems like unnecessary hassle.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by nathancahill on Tuesday July 04, 2017 @03:14PM
(#14697700)
Expired can happen clientside, just check the timestamp. Revoked would be a short blacklist that lasts the duration of the session, once a token is expired it no longer has to be revoked.
But I'm also curious how a revoked list would be handled with this service.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by hultner on Wednesday July 05, 2017 @05:50AM
(#14701076)
That's only true if you do not allow for long running sessions which are commonplace today. And it still requires a lookup every time to see if a particular session is blacklisted.
From what I could grasp there's no mechanics for blacklists/revocations in the current implementation of this service.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by RUTHLESS_RUFUS on Tuesday July 04, 2017 @12:24PM
(#14696736)
I cannot wait to allow a bazillion fake Twitter and FB accounts from the Eastern Bloc countries to pour into my website and bigly MAGA. Thanks, social sign-on!
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by tudorconstantin on Tuesday July 04, 2017 @04:22PM
(#14698052)
It's much easier for a spammer to get through your own implementation of spam filtering than through Facebook's or Google's.
Do you think you can implement automatic ip black listing, phone confirmation and better spammy account categorizers based on common spam signals than the big players, who have dedicated research teams working on this? I know I can't and even if I could, I'd rather spend my dev time on tasks related to the core business.
Re:Show HN: OAuth microservice for FB, Twitter, etc.
by RUTHLESS_RUFUS on Tuesday July 04, 2017 @02:55PM
(#14697605)
Except that they don't.
Account identity and authentication being outsourced to Facebook means your community maintainers don't get to notice the fact that those 100 MAGA-spouting dimwits are from Romania. They don't get that information in the first place.
Also maybe a sentence why this is neat and should be used...
It tells me that is has something to do with login, "without state" (whatever this means in this context) and that it is somehow not a "big service" but very "micro", so probably independent. Stateless and microservice can mean so many things.
A microservice is a service that does only one thing, and does it simply.
Something stateless doesn't keep state - after an interaction with a client, nothing has changed in the service itself.
A stateless authentication microservice is something I would expect to run, listen on a port for some sort of authentication credentials, and return either some sort of authorizarion token or an authentication error.
I don't see where the confusion comes from.
Asking to do a pull request or create an issue is just a polite way of saying fuck off.
Perhaps you could describe what details you would like to see in the issue? :)
---
In seriousness, noobish me would like to understand more what this is and when I should use it.
There you go: https://github.com/lipp/login-with/issues/25
Let's say I deploy it. Users of whatever service I provide use this to login to Google, Twitter, etc, then what? do I need to also implement something on the servers I'm protecting behind a login? I.e. some "verification" method that checks whether the client's JWT tokens are valid so I can grant them access?
All you need to do is: a) get key/secret for the respective service b) deploy this microservice with the respective env variables
I'll have to give it a try.
Very nice work!
From my prior research this seems to be a problem with the JWT which would either require distribution of ever growing blacklists or session verification through shared server side sessions.
Would also love to see some API documentation.
I really like the idea and always reimplementing login services seems like unnecessary hassle.
But I'm also curious how a revoked list would be handled with this service.
From what I could grasp there's no mechanics for blacklists/revocations in the current implementation of this service.
:)
https://github.com/lipp/login-with/pull/31
Do you think you can implement automatic ip black listing, phone confirmation and better spammy account categorizers based on common spam signals than the big players, who have dedicated research teams working on this? I know I can't and even if I could, I'd rather spend my dev time on tasks related to the core business.
Account identity and authentication being outsourced to Facebook means your community maintainers don't get to notice the fact that those 100 MAGA-spouting dimwits are from Romania. They don't get that information in the first place.