diff options
author | 2021-10-31 15:46:23 +0100 | |
---|---|---|
committer | 2021-10-31 15:46:23 +0100 | |
commit | 2aaec827321ec711b98e13335899cf750f270105 (patch) | |
tree | bafa15a0c2a469adf97b2c437fdc31428516424e /internal/web/base.go | |
parent | regenerate swagger docs (#293) (diff) | |
download | gotosocial-2aaec827321ec711b98e13335899cf750f270105.tar.xz |
smtp + email confirmation (#285)
* add smtp configuration
* add email confirm + reset templates
* add email sender to testrig
* flesh out the email sender interface
* go fmt
* golint
* update from field with more clarity
* tidy up the email formatting
* fix tests
* add email sender to processor
* tidy client api processing a bit
* further tidying in fromClientAPI
* pin new account to user
* send msg to processor on new account creation
* generate confirm email uri
* remove emailer from account processor again
* add processCreateAccountFromClientAPI
* move emailer accountprocessor => userprocessor
* add email sender to user processor
* SendConfirmEmail function
* add noop email sender
* use noop email sender in tests
* only assemble message if callback is not nil
* use noop email sender if no smtp host is defined
* minify email html before sending
* fix wrong email address
* email confirm test
* fmt
* serve web hndler
* add email confirm handler
* init test log properly on testrig
* log emails that *would* have been sent
* go fmt ./...
* unexport confirm email handler
* updatedAt
* test confirm email function
* don't allow tokens older than 7 days
* change error message a bit
* add basic smtp docs
* add a few more snippets
* typo
* add email sender to outbox tests
* don't use dutch wikipedia link
* don't minify email html
Diffstat (limited to 'internal/web/base.go')
-rw-r--r-- | internal/web/base.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/web/base.go b/internal/web/base.go index 0eda1185a..5d19a3f70 100644 --- a/internal/web/base.go +++ b/internal/web/base.go @@ -30,6 +30,12 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/processing" "github.com/superseriousbusiness/gotosocial/internal/router" + "github.com/superseriousbusiness/gotosocial/internal/util" +) + +const ( + confirmEmailPath = "/" + util.ConfirmEmailPath + tokenParam = "token" ) // Module implements the api.ClientModule interface for web pages. @@ -100,6 +106,9 @@ func (m *Module) Route(s router.Router) error { // serve statuses s.AttachHandler(http.MethodGet, "/:user/statuses/:id", m.threadTemplateHandler) + // serve email confirmation page at /confirm_email?token=whatever + s.AttachHandler(http.MethodGet, confirmEmailPath, m.confirmEmailGETHandler) + // 404 handler s.AttachNoRouteHandler(m.NotFoundHandler) |