What web authentication protocol?

I need to implement a web-based authentication protocol so users I know can be given access to a third-party web application. I will work with the developers of that web application to implement both sides, since they currently do not support authentication delegation.

At first, I thought I would implement an OpenID 2.0 IdP, since I thing the protocol is simple and well-designed. But the other developer feels concerned that OpenID 2.0 is considered obsolete, and thinks we should rather use the newer OpenID Connect…

Given that we have no need for authorization delegation that OAuth might provide, OpenID Connect looks bloated to me.

So, should I consider it is dangerous to deploy the obsolete OpenID 2.0 now and choose OpenID Connect or should I insist on using the older and simpler OpenID 2.0 protocol?

And if I should choose OpenID Connect, is there a good reason not to use the implicit flow (with “response_mode” set to “query”)? I’d rather avoid the extra server-to-server round-trip that looks useless to me, for a protocol that only provides identity…

Continue reading What web authentication protocol?

Authentication Middleware

We run a large distributed system consisting of a number (>10) of Django-based web services and web applications with a consumer base of about 10000 university students. Currently, we use a single single-sign-on system (Shibboleth) provided by our university to handle authentication. Authorization/roles are manually configured per-user at each web service. Our current architecture is shown below:
enter image description here

We would like to extend our system to allow logins using Google, Facebook, LinkedIn and other universities. It seems like we need a middleware that is in charge of authentication and role management. Roles are frequently created and cannot be statically defined. The middleware should also perform session management (like handling timeouts, single log-out). We picture something like the following:

Architecture of proposed system

What components would we need in this middleware? Our sysadmin is considering Gluu or Keycloak along with an AD service. Would either of these solutions meet our requirements? Are there any best practices or vulnerability/configuration checklists for such systems?

Continue reading Authentication Middleware

Authentication Middleware

We run a large distributed system consisting of a number (>10) of Django-based web services and web applications with a consumer base of about 10000 university students. Currently, we use a single single-sign-on system (Shibboleth) provided by our university to handle authentication. Authorization/roles are manually configured per-user at each web service. Our current architecture is shown below:
enter image description here

We would like to extend our system to allow logins using Google, Facebook, LinkedIn and other universities. It seems like we need a middleware that is in charge of authentication and role management. Roles are frequently created and cannot be statically defined. The middleware should also perform session management (like handling timeouts, single log-out). We picture something like the following:

Architecture of proposed system

What components would we need in this middleware? Our sysadmin is considering Gluu or Keycloak along with an AD service. Would either of these solutions meet our requirements? Are there any best practices or vulnerability/configuration checklists for such systems?

Continue reading Authentication Middleware