On Tue, Apr 07, 2020 at 03:20:52PM +0000, Paul Wise wrote: > I'd like to learn a bit about what the effects for Debian account > holders and service admins will be.
Thanks, I'll answer where I can. I understand that you're exploring all possible corner cases that might change and we might have to document or generally be aware of, and are not implying that any change in the areas you explore should be considered blockers for migrations away from the status quo. > > - Salsa becomes primary source of user info and authentication for secondary > > services via OpenID Connect (OAuth2), for both DDs and non-DDs, replacing > > sso.debian.org. > > It sounds like the answer is no, but does Salsa, Keycloak or > LemonLDAP::NG support TLS client certs? At least as a transition period, I intend to add OIDC authentication to sso.debian.org via libapache2-mod-auth-openidc or something equivalent, so that services that haven't migrated to OIDC can keep working. I guess the same can be done authenticating against Keycloak, LLNG, or most other things we might end up using, although I hope that if sso.debian.org ends up not being needed, we can turn it off after transitions have transitioned: I'm a big fan of reducing the amount of custom code that I have to maintain. > So it sounds like Debian would be switching our SSO authentication > protocol from TLS client certs directly supported by TLS clients to > something based on HTTP redirects, referrers and cookies and that > requires a browser in order to login? Technically yes. Practically, things like OIDC are standard setups, and there are standard ways to deal with non-browser access, like API keys. nm.debian.org for example already supports API keys without the need of a client certificate. > Is it intended that service maintainers each implement OpenID Connect > etc within their service code using existing libraries, or should we > use something like the mod_auth_openidc Apache module to pass > authentication details to service code. > > https://github.com/zmartzone/mod_auth_openidc I suppose each service can choose as they see fit. The apache module would provide a handy migration strategy from the current sso, keeping things handled at the web server level. Each service can decide what to do according to what options are provided by their underlying frameworks: OIDC is a widely supported and adopted standard, and it could be that using the corresponding functionality of Django or whatever framework one has, turns out to be easier for development and maintenance than the web server module. Both options would be available, anyway. If we really find out that we need a CA issuing client certs for some kinds of services, we can still keep maintaining sso.debian.org: it's a simple enough codebase and I think most people would be able to pick it up and maintain it as a CA service for our SSO federation. Note that I'm not aware of anything using sso.debian.org certificates outside a browser. I wrote and published example code to do that years ago, and haven't seen any adoption or even feedback. > Can services using non-HTTP protocols be authenticated with OpenID Connect > etc? > > Is it intended that there be moderation at account creation time? In > our experience with the Debian wiki, a large amount of spammers > attempt to sign up. I hear that Salsa gets a lot of spammers signing > up too and those are manually cleaned up if they do something spammy. > For the wiki we found the best way to prevent spammers from signing up > is human moderation. Even that doesn't always help as I've let > spammers sign up before based on the content of their signup emails, > but it is a good start. One very nice aspect of the wiki signup > moderation is that the team can respond to aspects of the signup > email, welcoming the applicant with pointers to documentation, > suggestions of ideas on how to help, mailing lists to join and so on. I defer to Salsa people for this part. Enrico -- GPG key: 4096R/634F4BD1E7AD5568 2009-05-08 Enrico Zini <enr...@enricozini.org>
signature.asc
Description: PGP signature