News for hackers. Stuff that matters.
Re:OAuth vs. SAML vs. OpenID Connect by clintonb on Wednesday December 07, 2016 @09:24PM (#13127948)
The problem with OIDC (from my point of view) is the lack of good libraries for Python/Django projects. We ended up building our own atop the now-defunct django-oauth2-provider. Unfortunately, no one (myself and my company included) has committed to adding the functionality to the more-popular django-oauth-toolkit.

This has lead to our questioning the need for OIDC given that we can generate JWTs as access tokens. If the identity info is embedded in the access token, there is no need for the ID token and (more importantly) micro-services no longer need to check in with the authentication provider to validate bearer tokens.

I do like the discovery aspects of the OIDC protocol that make it easy to distribute public keys.

Re:OAuth vs. SAML vs. OpenID Connect by willow9886 on Thursday December 08, 2016 @05:08PM (#13134752)
Mike replied to a comment about JWT's on the blog. Figured I'd also add it here for good measure.

Feel free to continue the discussion in the comments section of our blog.[1]

" JWT's are great. That's why they are used extensively in the OpenID Connect spec. The question is what's in that JWT? What are the claims? How do you know that the JWT that you got back in the response relates to the request you sent (i.e. Connect defines the nonce)? How do you know that the access token has not been modified (i.e. Connect defines the at_hash)? How do you know the code has not been modified (i.e. Connect defines the c_hash). How do you securely send the request? How does your client register and obtain tokens?

So yes, the puck is going towards JWT... but that's like saying the puck is going to JSON/REST... If you are using OAuth2 to authenticate a person, and you are using JWT, then you will have to define a lot of details to do so securely. Instead of making up your own recipe (which you probably don't have the time to do...), leverage the best practices defined by the experts at Google and Microsoft. "

[1] https://www.gluu.org/blog/oauth-vs-saml-vs-openid-connect/#c...

Re:OAuth vs. SAML vs. OpenID Connect by idm_guru on Thursday December 08, 2016 @10:52AM (#13131043)
I totally agree with the lack of libraries!!! That's why we're working on oxd at Gluu: https://oxd.gluu.org

If you need a license, just email [email protected] It's not free open source, but it will be very inexpensive. It reduces OpenID Connect to a simple three step process (with three corresponding method calls):

1. Get code 2. Get tokens 3. Get user_info

There are two more supporting methods:

4. Register client 5. Logout

I wrote a sample cgi-bin application (and there is also a sample Flask application) that shows how to use it. https://github.com/GluuFederation/oxd-python/tree/master/dem...

Re:OAuth vs. SAML vs. OpenID Connect by ve7jtb on Thursday December 08, 2016 @03:53PM (#13134184)
Have a look at: https://github.com/juanifioren/django-oidc-provider

I know several Gov projects using it that are quite happy.

Re:OAuth vs. SAML vs. OpenID Connect by clintonb on Saturday December 10, 2016 @01:42PM (#13147129)
This project is a great OIDC provider, but a not-so-great OAuth 2.0 provider. For example, it doesn't support the client credentials grant type.
Re:OAuth vs. SAML vs. OpenID Connect by spangry on Thursday December 08, 2016 @08:40AM (#13130169)
There's also Hydra, which looks pretty easy to deploy (fyi: I haven't used it): https://github.com/ory-am/hydra).
Re:OAuth vs. SAML vs. OpenID Connect by dwaite on Friday December 09, 2016 @03:27PM (#13141549)
There's also an apache module (https://github.com/pingidentity/mod_auth_openidc) and some Lua you can plug into nginx (https://github.com/pingidentity/lua-resty-openidc) if you are going the reverse proxy approach.
Re:OAuth vs. SAML vs. OpenID Connect by po on Thursday December 08, 2016 @01:02AM (#13128708)
Ah... so that must have been you on this issue: https://github.com/evonove/django-oauth-toolkit/issues/110

I think the main reason for that is that its not a simple thing to do and there's just not enough expertise out there.

Re:OAuth vs. SAML vs. OpenID Connect by clintonb on Saturday December 10, 2016 @01:31PM (#13147059)
Yes, that is me. I have the expertise, having maintained a fork of django-oauth2-provider for over a year; however, the issue with django-oauth-toolkit seems to be the lack of responsiveness on the part of the maintainers. We at edX are willing to contribute these features; but, we'd prefer not to maintain a long-term fork of the project.
Re:OAuth vs. SAML vs. OpenID Connect by ownagefool on Thursday December 08, 2016 @04:13AM (#13129270)
We deal with supporting a range of languages by dropping a go proxy infront of the app.

https://github.com/gambol99/keycloak-proxy