Live data from Hacker News

OAuth for the Open Web

aaronparecki.com

31–40 of 80 posts

Re: OAuth for the Open Web

#31
post #29

I was looking into SAML a while back for a project (preexisting compatibility) and the lack of functional open source IdP's is depressing. I tried Gluu and it's a RAM hog for what it does (IMO). I took a look at the developer docs and it seems all but impossible to override the password hashing method with your own (query passwords from your own database instead of LDAP hashed) was one use case I was looking into) Ev…

Shibboleth, simplesamlphp. Both offer easy ways to add custom login handlers.

Re: OAuth for the Open Web

#32

This seems to me as just a subset what OpenID Connect is. OIDC is an addition to OAuth2 and supports all mentioned - user identity: core user info endpoint - discovery: https://openid.net/specs/openid-connect-discovery-1_0.html - client registration: https://openid.net/specs/openid-connect-registration-1_0.htm... And also other features which are important for more complex cases than just simple "login using X" butto…

The battle between OAuth 1.0a, 2.0, and OIDC is really long and drawn out and doesn't seem to have a clear winner which I think is hurting everyone (though of course some companies are winning because they can support everything and offer that as value). I sure do wish people would just standardize on OIDC...

It’s unfortunate. Big companies are pushing for OAuth 2.0 and trying to blindsided people as if it is an upgrade to OAuth 1.0a. It is not. OAuth 1.0a provides authenticity, integrity, and non-repudiation. Something that OAuth 2.0 does not provide.

Re: OAuth for the Open Web

#33
post #31
post #29

I was looking into SAML a while back for a project (preexisting compatibility) and the lack of functional open source IdP's is depressing. I tried Gluu and it's a RAM hog for what it does (IMO). I took a look at the developer docs and it seems all but impossible to override the password hashing method with your own (query passwords from your own database instead of LDAP hashed) was one use case I was looking into) Ev…

Shibboleth, simplesamlphp. Both offer easy ways to add custom login handlers.

Shibboleth is _the_ gold standard when it comes to SAML. I'm at the point where I don't recommend anything else, and I'm willing to help people deploy it (contact info in profile).

For this use case, they'd also need to configure JAAS.

Re: OAuth for the Open Web

#34
post #15

Earlier quoted context omitted.

Unless there's gonna be native browser support, the different websites you visit won't be able to know which accounts you've recently used elsewhere.

If browsers were to support this, there would be some tricky UI/UX questions about how readily the browser provides information to a new website about accounts you have on other sites. Such a feature might best be specified as an extension to this API: https://developer.mozilla.org/en-US/docs/Web/API/Credential_... which although experimental does have some level of browser support.

Don't expose it to the web page, but treat it as a native UI control.

Re: OAuth for the Open Web

#36
post #28

OAuth 1.0a includes authentication and authorization. OAuth 2.0 is designed for authorization only and could be vulnerable to account takeover/impersonation attacks. MasterCard uses OAuth 1.0a instead of 2.0 https://developer.mastercard.com/blog/why-mastercard-doesnt-...

Given that OAuth 2.0 uses TLS, could you please explain how such an attack could actually be executed?

Re: OAuth for the Open Web

#37
post #31

Earlier quoted context omitted.

Shibboleth, simplesamlphp. Both offer easy ways to add custom login handlers.

Shibboleth is _the_ gold standard when it comes to SAML. I'm at the point where I don't recommend anything else, and I'm willing to help people deploy it (contact info in profile). For this use case, they'd also need to configure JAAS.

I'll give just Shibboleth a try later.

I've been thinking of writing my own SAML IdP in Python (since I have plenty of experience with the language) and I'm not naive to the various security things that can go wrong, but I'm no expert cryptographer either.

Re: OAuth for the Open Web

#38
post #36
post #28

OAuth 1.0a includes authentication and authorization. OAuth 2.0 is designed for authorization only and could be vulnerable to account takeover/impersonation attacks. MasterCard uses OAuth 1.0a instead of 2.0 https://developer.mastercard.com/blog/why-mastercard-doesnt-...

Given that OAuth 2.0 uses TLS, could you please explain how such an attack could actually be executed?

A MITM TLS-busting proxy. Like on many corporate networks and in many country firewalls.

Might seem like a remote chance from a user's point of view, but could be a threat from a payment processor's view, with billions of daily transactions.

Also, easier to prove the integrity of the message when you're handling the authentication piece yourself rather than assuming TLS was correctly enforced end-to-end.

Re: OAuth for the Open Web

#39

This seems to me as just a subset what OpenID Connect is. OIDC is an addition to OAuth2 and supports all mentioned - user identity: core user info endpoint - discovery: https://openid.net/specs/openid-connect-discovery-1_0.html - client registration: https://openid.net/specs/openid-connect-registration-1_0.htm... And also other features which are important for more complex cases than just simple "login using X" butto…

The battle between OAuth 1.0a, 2.0, and OIDC is really long and drawn out and doesn't seem to have a clear winner which I think is hurting everyone (though of course some companies are winning because they can support everything and offer that as value). I sure do wish people would just standardize on OIDC...

Google and Microsoft are two big companies supporting OIDC.

Re: OAuth for the Open Web

#40
post #37

Earlier quoted context omitted.

Shibboleth is _the_ gold standard when it comes to SAML. I'm at the point where I don't recommend anything else, and I'm willing to help people deploy it (contact info in profile). For this use case, they'd also need to configure JAAS.

I'll give just Shibboleth a try later. I've been thinking of writing my own SAML IdP in Python (since I have plenty of experience with the language) and I'm not naive to the various security things that can go wrong, but I'm no expert cryptographer either.

> but I'm no expert cryptographer either.

You don't have to be, as you would not implement any cryptographic algorithms (ciphers, hash methods) yourself. Solid experience with software security in general is a requirement of course.

Post reply on HN