Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add authorized email address support #1757

Merged
merged 1 commit into from
Sep 2, 2024

Conversation

hf
Copy link
Contributor

@hf hf commented Sep 2, 2024

Adds support for authorized email addresses, useful when needing to restrict email sending to a handful of email addresses. In the Supabase platform use case, this can be used to allow sending of emails on new projects only to the project's owners or developers, reducing email abuse.

To enable it, specify GOTRUE_EXTERNAL_EMAIL_AUTHORIZED_ADDRESSES as a comma-delimited string of email addresses. The addresses should be lowercased and without labels.

Labels are supported so emails will be sent to someone+test1@gmail.com and someone+test2@gmail.com if and only if the someone@gmail.com address is added in the authorized list.

Not a substitute for blocklists!

@hf hf requested a review from a team as a code owner September 2, 2024 10:15
@coveralls
Copy link

coveralls commented Sep 2, 2024

Pull Request Test Coverage Report for Build 10665862666

Details

  • 36 of 36 (100.0%) changed or added relevant lines in 10 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.03%) to 57.894%

Totals Coverage Status
Change from base Build 10665007028: 0.03%
Covered Lines: 9138
Relevant Lines: 15784

💛 - Coveralls

internal/api/errorcodes.go Show resolved Hide resolved
internal/api/mail.go Outdated Show resolved Hide resolved
internal/api/mail.go Outdated Show resolved Hide resolved
@hf hf force-pushed the hf/add-authorized-email-addresses branch from 2c6d31f to dffbaa5 Compare September 2, 2024 10:52
@hf hf force-pushed the hf/add-authorized-email-addresses branch from dffbaa5 to 738e079 Compare September 2, 2024 11:00
@hf hf merged commit f3a28d1 into master Sep 2, 2024
2 checks passed
@hf hf deleted the hf/add-authorized-email-addresses branch September 2, 2024 11:07
hf pushed a commit that referenced this pull request Sep 2, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.160.0](v2.159.2...v2.160.0)
(2024-09-02)


### Features

* add authorized email address support
([#1757](#1757))
([f3a28d1](f3a28d1))
* add option to disable magic links
([#1756](#1756))
([2ad0737](2ad0737))
* add support for saml encrypted assertions
([#1752](#1752))
([c5480ef](c5480ef))


### Bug Fixes

* apply shared limiters before email / sms is sent
([#1748](#1748))
([bf276ab](bf276ab))
* simplify WaitForCleanup
([#1747](#1747))
([0084625](0084625))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

email = strings.ToLower(email)

if len(a.config.External.Email.AuthorizedAddresses) > 0 {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hf would be nice if we had passed down the config as the argument instead of making this a struct method of API and having to pass down the api struct in Validate

uxodb pushed a commit to uxodb/auth that referenced this pull request Nov 13, 2024
Adds support for authorized email addresses, useful when needing to
restrict email sending to a handful of email addresses. In the Supabase
platform use case, this can be used to allow sending of emails on new
projects only to the project's owners or developers, reducing email
abuse.

To enable it, specify `GOTRUE_EXTERNAL_EMAIL_AUTHORIZED_ADDRESSES` as a
comma-delimited string of email addresses. The addresses should be
lowercased and without labels.

Labels are supported so emails will be sent to `someone+test1@gmail.com`
and `someone+test2@gmail.com` if and only if the `someone@gmail.com`
address is added in the authorized list.

Not a substitute for blocklists!
uxodb pushed a commit to uxodb/auth that referenced this pull request Nov 13, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.160.0](supabase/auth@v2.159.2...v2.160.0)
(2024-09-02)


### Features

* add authorized email address support
([supabase#1757](supabase#1757))
([f3a28d1](supabase@f3a28d1))
* add option to disable magic links
([supabase#1756](supabase#1756))
([2ad0737](supabase@2ad0737))
* add support for saml encrypted assertions
([supabase#1752](supabase#1752))
([c5480ef](supabase@c5480ef))


### Bug Fixes

* apply shared limiters before email / sms is sent
([supabase#1748](supabase#1748))
([bf276ab](supabase@bf276ab))
* simplify WaitForCleanup
([supabase#1747](supabase#1747))
([0084625](supabase@0084625))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 13, 2024
Adds support for authorized email addresses, useful when needing to
restrict email sending to a handful of email addresses. In the Supabase
platform use case, this can be used to allow sending of emails on new
projects only to the project's owners or developers, reducing email
abuse.

To enable it, specify `GOTRUE_EXTERNAL_EMAIL_AUTHORIZED_ADDRESSES` as a
comma-delimited string of email addresses. The addresses should be
lowercased and without labels.

Labels are supported so emails will be sent to `someone+test1@gmail.com`
and `someone+test2@gmail.com` if and only if the `someone@gmail.com`
address is added in the authorized list.

Not a substitute for blocklists!
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 13, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.160.0](supabase/auth@v2.159.2...v2.160.0)
(2024-09-02)


### Features

* add authorized email address support
([supabase#1757](supabase#1757))
([f3a28d1](supabase@f3a28d1))
* add option to disable magic links
([supabase#1756](supabase#1756))
([2ad0737](supabase@2ad0737))
* add support for saml encrypted assertions
([supabase#1752](supabase#1752))
([c5480ef](supabase@c5480ef))


### Bug Fixes

* apply shared limiters before email / sms is sent
([supabase#1748](supabase#1748))
([bf276ab](supabase@bf276ab))
* simplify WaitForCleanup
([supabase#1747](supabase#1747))
([0084625](supabase@0084625))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants