1
- using Microsoft . Extensions . Caching . Memory ;
2
1
using Passwordless . Common . MagicLinks . Models ;
3
2
using Passwordless . Common . Services . Mail ;
4
3
using Passwordless . Service . EventLog . Loggers ;
@@ -10,7 +9,6 @@ namespace Passwordless.Service.MagicLinks;
10
9
11
10
public class MagicLinkService (
12
11
TimeProvider timeProvider ,
13
- IMemoryCache cache ,
14
12
ITenantStorage tenantStorage ,
15
13
IFido2Service fido2Service ,
16
14
IMailProvider mailProvider ,
@@ -24,6 +22,7 @@ private async Task EnforceQuotaAsync(MagicLinkTokenRequest request)
24
22
25
23
// Applications created less than 24 hours ago can only send magic links to the admin email address
26
24
if ( accountAge < TimeSpan . FromHours ( 24 ) &&
25
+ ! IsAdminConsole ( account ) &&
27
26
! account . AdminEmails . Contains ( request . EmailAddress . Address , StringComparer . OrdinalIgnoreCase ) )
28
27
{
29
28
throw new ApiException (
@@ -64,6 +63,10 @@ private async Task EnforceQuotaAsync(MagicLinkTokenRequest request)
64
63
}
65
64
}
66
65
66
+ private static bool IsAdminConsole ( PerTenant account ) =>
67
+ string . Equals ( account . Tenant , "admin" , StringComparison . OrdinalIgnoreCase )
68
+ || string . Equals ( account . Tenant , "adminconsole" , StringComparison . OrdinalIgnoreCase ) ;
69
+
67
70
public async Task SendMagicLinkAsync ( MagicLinkTokenRequest request )
68
71
{
69
72
await EnforceQuotaAsync ( request ) ;
0 commit comments