Commit Graph

44 Commits

Author SHA1 Message Date
Matt Baer 484d2736ce Update repo URL to writefreely org
From the writeas org on GitHub.
2021-04-06 17:24:07 -04:00
Darius Kazemi 0aafd0c368 Generic OAuth userinfo properies now configurable
When connecting to a generic OAuth provider, you are never sure what object you'll be receiving from the userinfo endpoint (it isn't actually specified anywhere). So this commit adds mapping values to the generic oauth configuration section of config.ini, allowing the user to specify which keys in the remote endpoint it expects to read the UserID, Username, DisplayName, and Email from. Default values if unspecified remain as they were before this commit.
2020-10-22 12:15:55 -07:00
Darius Kazemi 667cbb97ed Adding scope field to generic OAuth
Some OAuth providers (like Mastodon) do not use the default
"read_user" scope, instead offering a custom scope. The config.ini
for generic OAuth now contains a "scope" field, allowing the admin
to set the scope manually (it defaults to "read_user" if blank).
2020-10-12 20:54:48 -07:00
Matt Baer 217430e56b Redirect user to /me/settings on cancelled OAuth flow 2020-08-19 15:40:07 -04:00
Matt Baer 4db2cb8986 Templatize OAuth buttons across signup and login pages
This moves fields into the `OAuthButtons` struct and puts the buttons into templates/includes/oauth.tmpl.
2020-08-19 13:31:07 -04:00
Matt Baer 95273697f4 Use consistent server User-Agent across application 2020-08-18 12:22:04 -04:00
Pascal Richier d3f1e40010
Merge branch 'develop' into feature/generic-oauth 2020-08-16 19:58:01 +02:00
Keturah Dola-Borg 405a2602ce Fix endpoint URI generation
Signed-off-by: prichier <pascoualito@gmail.com>
2020-05-31 00:20:39 +02:00
Keturah Dola-Borg 92d822b5c6 Remove redundant variable
Signed-off-by: prichier <pascoualito@gmail.com>
2020-05-31 00:20:35 +02:00
Keturah Dola-Borg 7b71d455a8 Apply go fmt
Signed-off-by: prichier <pascoualito@gmail.com>
2020-05-31 00:20:21 +02:00
Keturah Dola-Borg ee1ca48800 Add generic oauth client
Signed-off-by: prichier <pascoualito@gmail.com>
2020-05-30 23:58:57 +02:00
gytisrepecka 8675eb0f95
Merge develop branch into oauth-gitea and resolve pages/login.tmpl conflict. 2020-04-23 14:24:17 +03:00
Matt Baer ca4a576c31 Support OAuth registration with invite code
This adds any OAuth login buttons to the invite signup page, stores the invite code for the flow duration, and associates the new user with it once successfully registered.

It enables invite-only instances with OAuth-based registration.
2020-04-20 18:18:23 -04:00
Matt Baer 93c2773412 Prevent account creation via OAuth when registration is closed 2020-04-20 15:26:53 -04:00
gytisrepecka 0e1459c6b2
Remove address variable - to make Locations use host value from config instead. 2020-04-17 17:12:06 +03:00
gytisrepecka c798a44f69
Added Gitea OAuth login and account management. 2020-04-03 13:26:59 +03:00
Matt Baer d7d4cd907e Tweak "account already attached" verbiage 2020-03-24 09:09:14 -04:00
Nick Gerakines 048e8a5e13
Added error messaging when user attempts to attach a slack account to a user that already has the slack account attached. Added GitLab to settings page as oauth option. 2020-03-20 18:07:35 -04:00
Matt Baer cf4f08b264 Merge branch 'develop' into T713-oauth-account-management 2020-03-19 12:02:33 -04:00
Matt Baer 9e25979e37 Run go fmt on modified GitLab files 2020-03-18 16:17:06 -04:00
Kyle Robbertze 26b6ed5f4f simplify gitlab oauth config 2020-03-16 15:11:03 +02:00
Kyle Robbertze c292512b9d add Gitlab OAuth 2020-03-12 10:50:55 +02:00
Nick Gerakines c0317b4e93 Implemented oauth attach functionality, oauth detach functionality, and required data migration. T713 2020-01-15 13:16:59 -05:00
Nick Gerakines f7995bee48 Fixing bug where display name was not set correctly. 2020-01-14 10:28:40 -05:00
Nick Gerakines a77d403dfb
Fixing bug in oauth callback URL registration.
Fixing a bug in the oauth callback URL registration where the lack of provider context was overwriting the previous oauth callback route registration call.
2020-01-10 16:16:43 -05:00
Nick Gerakines 5e76565271 Code cleanup per PR feedback. T712 2020-01-07 21:52:55 -05:00
Nick Gerakines 28cf4dd5f5 Added state location register hook. T712. 2020-01-07 15:22:25 -05:00
Nick Gerakines 6429d495a2 Implemented /oauth/signup. T712 2020-01-03 13:50:21 -05:00
Nick Gerakines 0b229a5ede Updating oauth user lookup call as per PR feedback. T710 2020-01-03 11:31:38 -05:00
Nick Gerakines 6d8da2bffd Encrypting email from oauth signup as per PR feedback. T710 2020-01-03 11:28:06 -05:00
Nick Gerakines 2aea9560bc Merged T710-oauth-slack into oauth-wrapper. 2020-01-02 16:19:26 -05:00
Nick Gerakines 31e2dac118 Adding slack display name to inspect response to use in user creation as per PR feedback. T710 2020-01-02 15:55:28 -05:00
Nick Gerakines cd5fea5ff1 write.as oauth client cleanup as per PR feedback. T710 2020-01-02 15:50:54 -05:00
Nick Gerakines 9170c84617 Merged in final changes from PR 225 into T705-oauth-slack. T710 2019-12-31 11:48:08 -05:00
Matt Baer ad5f72d8a4 Merge branch 'T705-oauth' into oauth-wrapper 2019-12-30 18:47:40 -05:00
Matt Baer 6bcc4cfa46 Check for error response in code exchange
This checks to see if we get a response with a populated `error` field
in exchangeOauthCode(). If so, we return that error message as an error,
to ensure the callback logic doesn't continue with a bad response.

Ref T705
2019-12-30 18:25:24 -05:00
Matt Baer 39d0f1de98 Add logging in viewOauthCallback()
Ref T705
2019-12-30 18:23:45 -05:00
Matt Baer af23e28d05 Pass OAuth requests through new OAuth handler
This gives us our standard logging and passes around errors with
impart.HTTPError.

Ref T705
2019-12-30 18:14:01 -05:00
Nick Gerakines cf87ae9096 Code cleanup in prep for PR. T710 2019-12-30 13:32:06 -05:00
Nick Gerakines 462f87919a Feature complete on MVP slack auth integration. T710 2019-12-28 15:15:47 -05:00
Nick Gerakines 13121cb266 Merging T705-oauth into T710-oauth-slack. T705,T710 2019-12-27 13:40:11 -05:00
Nick Gerakines 4266154749 Code cleanup from PR 255 feedback. T705 2019-12-27 13:35:48 -05:00
Nick Gerakines bf3b6a5ba0 Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 2019-12-23 14:30:32 -05:00
Nick Gerakines 7a0863f71b Added oauth handlers and tests with mocks. Part of T705. 2019-12-19 11:51:19 -05:00