c3eea98db0
fix: use unique ID for linked accounts ( #3441 )
...
- move OAuth-related fields off of api_keys into a new user_links table
- restrict users to single form of login
- process updates to user email/usernames for OIDC
- added a login_type column to users
2022-08-17 18:00:53 -05:00
3d0febdd90
feat: Add OIDC authentication ( #3314 )
...
* feat: Add OIDC authentication
* Extract username into a separate package and add OIDC tests
* Add test case for invalid tokens
* Add test case for username as email
* Add OIDC to the frontend
* Improve comments from self-review
* Add authentication docs
* Add telemetry
* Update docs/install/auth.md
Co-authored-by: Ammar Bandukwala <ammar@ammar.io >
* Update docs/install/auth.md
Co-authored-by: Ammar Bandukwala <ammar@ammar.io >
* Remove username package
Co-authored-by: Ammar Bandukwala <ammar@ammar.io >
2022-07-31 23:05:35 -05:00
fd4954b4e5
fix: Use membership endpoint to ensure user exists in team ( #3129 )
...
This was using the incorrect GitHub endpoint prior, which fetched a team
by slug. Any user in a GitHub organization can view all teams, so this
didn't block signups like intended.
I've verified this API returns an error when the calling user is not a
member of the team requested.
Fixes #3105 .
2022-07-22 13:54:08 -05:00
8b76e40629
fix: Fetch GitHub teams by name for performance ( #2955 )
...
In large organizations with thousands of teams, looping took >5s.
This fetches organizations by team name, which should be very fast!
2022-07-13 00:45:43 +00:00
7e9819f2a8
ref: move httpapi.Reponse into codersdk ( #2954 )
2022-07-12 19:15:02 -05:00
dff6e97f83
feat: Add allowlist of GitHub teams for OAuth ( #2849 )
...
Fixes #2848 .
2022-07-08 21:37:18 -05:00
af401e3fe1
chore: Linter rule for properly formatted api errors ( #2123 )
...
* chore: Linter rule for properly formatted api errors
* Add omitempty to 'Detail' field
2022-06-07 14:33:06 +00:00
c9a4642a12
chore: Update BE http errors to be ui friendly ( #1994 )
...
* chore: More UI friendly errors
Mainly capitlization + messages prefix error
2022-06-03 21:48:09 +00:00
31b819e83f
chore: Remove interface from coderd and lift API surface ( #1772 )
...
Abstracting coderd into an interface added misdirection because
the interface was never intended to be fulfilled outside of a single
implementation.
This lifts the abstraction, and attaches all handlers to a root struct
named `*coderd.API`.
2022-05-26 03:14:08 +00:00
97a95f1377
chore: upgrade golangci-lint to v1.46.0 ( #1373 )
2022-05-10 16:04:23 -05:00
23e5636dd0
fix: Use verified and primary email for GitHub signup ( #1230 )
...
This was causing a panic due to nil pointer dereference.
It required all users signing up had a public email,
which is an unreasonable requirement!
2022-04-29 15:13:35 -05:00
7496c3da81
feat: Add GitHub OAuth ( #1050 )
...
* Initial oauth
* Add Github authentication
* Add AuthMethods endpoint
* Add frontend
* Rename basic authentication to password
* Add flags for configuring GitHub auth
* Remove name from API keys
* Fix authmethods in test
* Add stories and display auth methods error
2022-04-23 22:58:57 +00:00