From d422935730e66a13f3e3d8c70d18006098ebaf47 Mon Sep 17 00:00:00 2001 From: bojeil-google Date: Mon, 3 May 2021 17:26:56 -0700 Subject: [PATCH] fix(auth): adds missing EMAIL_NOT_FOUND error code (#298) * fix(auth): adds missing EMAIL_NOT_FOUND error code Catch EMAIL_NOT_FOUND when /accounts:sendOobCode is called for password reset on a user that does not exist. --- .../FirebaseAdmin.Tests/Auth/AuthErrorHandlerTest.cs | 6 ++++++ FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorCode.cs | 7 +++++++ FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorHandler.cs | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/FirebaseAdmin/FirebaseAdmin.Tests/Auth/AuthErrorHandlerTest.cs b/FirebaseAdmin/FirebaseAdmin.Tests/Auth/AuthErrorHandlerTest.cs index 717847df..94de1b86 100644 --- a/FirebaseAdmin/FirebaseAdmin.Tests/Auth/AuthErrorHandlerTest.cs +++ b/FirebaseAdmin/FirebaseAdmin.Tests/Auth/AuthErrorHandlerTest.cs @@ -57,6 +57,12 @@ public class AuthErrorHandlerTest ErrorCode.NotFound, AuthErrorCode.UserNotFound, }, + new object[] + { + "EMAIL_NOT_FOUND", + ErrorCode.NotFound, + AuthErrorCode.EmailNotFound, + }, }; [Theory] diff --git a/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorCode.cs b/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorCode.cs index 97813e85..c7098830 100644 --- a/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorCode.cs +++ b/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorCode.cs @@ -98,5 +98,12 @@ public enum AuthErrorCode /// Tenant ID in a token does not match. /// TenantIdMismatch, + + /// + /// No user record found for the given email, typically raised when + /// generating a password reset link using an email for a user that + /// is not already registered. + /// + EmailNotFound, } } diff --git a/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorHandler.cs b/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorHandler.cs index 88752dd2..f9554dfe 100644 --- a/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorHandler.cs +++ b/FirebaseAdmin/FirebaseAdmin/Auth/AuthErrorHandler.cs @@ -63,6 +63,13 @@ internal sealed class AuthErrorHandler AuthErrorCode.EmailAlreadyExists, "The user with the provided email already exists") }, + { + "EMAIL_NOT_FOUND", + new ErrorInfo( + ErrorCode.NotFound, + AuthErrorCode.EmailNotFound, + "No user record found for the given email") + }, { "INVALID_DYNAMIC_LINK_DOMAIN", new ErrorInfo(