argoproj / argoproj/notifications-engine

Feature Request: Add OAuth Authentication Support for Email Notifications

Open
#352 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
334
Forks
217
PR merge metrics
No merged PRs in 30d

Description

### Feature Request: Add OAuth Authentication Support for Email Notifications

#### Description
Currently, Argo CD supports sending emails for notifications, but it does not provide an option for OAuth-based authentication. This feature is essential for integrating with modern email services which require OAuth for enhanced security. Some are [ending support for basic SMTP auth.](https://techcommunity.microsoft.com/blog/exchange/exchange-online-to-retire-basic-auth-for-client-submission-smtp-auth/4114750)

#### Use Case
Many organizations use email services like Gmail or Outlook, which enforce OAuth authentication for sending emails. Adding this feature will make it easier for users to configure email notifications securely.

#### Proposed Solution
Add support for OAuth by allowing users to configure:
- Client ID
- Client Secret
- Authorization URL
- Token URL
- Scopes required for the email provider

#### Benefits
- Enhanced security for email notifications.
- Compatibility with modern email services that require OAuth.
- Improved user experience by supporting widely used authentication protocols.

#### Additional Context
- [MSAL for go](https://learn.microsoft.com/en-us/entra/msal/go/)
- [Google OAuth SMTP Documentation](https://developers.google.com/gmail/imap/xoauth2-protocol)
- [OAuth 2.0 Overview](https://oauth.net/2/)

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files, tests, or entry points. Start by locating the email notification authentication flow and its configuration handling, then determine how client credentials, authorization and token URLs, and scopes should be represented; done means OAuth-authenticated email notifications work with the required providers and are covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authentication, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.