Project

General

Profile

Native login implementation » History » Version 1

Tom Clegg, 04/17/2019 05:02 PM

1 1 Tom Clegg
h1. Native login implementation
2
3
Background: sso-provider is a Rails app that provides an OAuth2 interface to OAuth2, LDAP, and local password database backends. It has some problems:
4
* high maintenance cost
5
* high admin cost (install/upgrade/troubleshoot)
6
* unnecessary extra steps in login flow
7
8
Proposal:
9
* Implement the backends in arvados-controller (instead of proxying to RailsAPI and redirecting to sso-provider)
10
* During transition phase, continue to support sso-provider as a backend
11
12
Development/release roadmap:
13
# Add Google backend as an alternative to sso-provider
14
# Add LDAP backend as another alternative
15
# Add password database backend -- or, alternatively, suggest installing an LDAP server
16
# Remove sso-provider backend
17
18
Implementation notes:
19
* https://godoc.org/golang.org/x/oauth2/google, https://godoc.org/golang.org/x/oauth2
20
* https://godoc.org/gopkg.in/ldap.v2
21
* 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?