Project

General

Profile

Native login implementation » History » Revision 2

Revision 1 (Tom Clegg, 04/17/2019 05:02 PM) → Revision 2/4 (Tom Clegg, 04/17/2019 06:00 PM)

h1. Native login implementation 

 Background: sso-provider is a Rails app that provides an OAuth2 interface to OAuth2, LDAP, and local password database backends. It has some problems: 
 * high maintenance cost 
 * high admin cost (install/upgrade/troubleshoot) 
 * unnecessary extra steps in login flow 

 Proposal: 
 * Implement the backends in arvados-controller (instead of proxying to RailsAPI and redirecting to sso-provider) 
 * During transition phase, continue to support sso-provider as a backend 

 Development/release roadmap: 
 # Add Google backend as an alternative to sso-provider 
 # Add LDAP backend as another alternative 
 # Add password database backend -- or, alternatively, suggest installing an LDAP server 
 # Remove sso-provider backend 

 Implementation notes: 
 * https://godoc.org/golang.org/x/oauth2/google, https://godoc.org/golang.org/x/oauth2, https://github.com/coreos/go-oidc https://godoc.org/golang.org/x/oauth2 
 * https://godoc.org/gopkg.in/ldap.v2 
 * https://github.com/korylprince/go-ad-auth wraps ldap to make ActiveDirectory easier -- perhaps we would offer an ActiveDirectory backend as well as a generic LDAP backend?