TODOs in no particular order OpenID Connect / OAuth2 - [ ] Let clients require signing algorithms (see id_token_signed_response_alg) - [ ] Support ECDSA keys - [ ] Support client_secret_jwt client authentication - [ ] Add a "NextSigningKey" to the storage.Keys type so clients can cache more aggressively - [ ] Support grant_type=password API - [ ] Determine best way to expose an API - [ ] Use access tokens so we don't expose the underlying credentials implementation - [ ] Support grant_type=client_credentials so clients can operate on their own - [ ] Figure out a spec for the access tokens so other services can use them - [ ] Group API, ability to list groups, members, etc. - [ ] Expose capabilities of the server (implicit support, group API, etc.) Connectors - [ ] Port BitBucket connector - [ ] Port UAA connector - [ ] Simplify LDAP connector configuration - [ ] Create proposal for a minimal "local" connector implementation User self-management - [ ] Implement the user object proposal - [ ] Provide user profile page - [ ] Let user's merge accounts when they have multiple remote identities - [ ] Let user's revoke clients with refresh tokens Documentation - [ ] Describe motivation for a V2 - [ ] Add OpenID Connect client library suggestions - [ ] Add getting started guide - [ ] Add more connector documentation - [ ] Include instructions for getting client credentials for upstream provider - [ ] Improve Kubernetes documentation and include client auth provider docs Storage - [ ] Add SQL storage implementation - [ ] Utilize fixes for third party resources in Kubernetes 1.4 UX - [ ] Add 500 and 404 pages - [ ] Add an OBB template - [ ] Set an HTTP cookie so users aren't constantly reprompted for passwords - [ ] Add proposal for letting others style existing HTML templates - [ ] Support serving arbitrary static assets Backend - [ ] Improve logging, possibly switch to logrus - [ ] Standardize OAuth2 error handling