99using System . Linq ;
1010using System . Security . Claims ;
1111using System . Threading . Tasks ;
12+ using Kerberos . NET . Client ;
1213using Kerberos . NET . Configuration ;
1314using Kerberos . NET . Crypto ;
1415using Kerberos . NET . Entities ;
@@ -27,17 +28,21 @@ public class KerberosAuthenticator
2728
2829 public UserNameFormat UserNameFormat { get ; set ; } = UserNameFormat . UserPrincipalName ;
2930
30- public KerberosAuthenticator ( string upn , KeyTable keytab , Krb5Config config , ILoggerFactory logger = null )
31+ public KerberosAuthenticator ( string upn , KeyTable keytab , KerberosClient delegationClient , ILoggerFactory logger = null )
3132 : this ( new KerberosValidator ( keytab , logger ) )
3233 {
3334 if ( ! string . IsNullOrWhiteSpace ( upn ) )
3435 {
35- this . s4uProvider = new S4UProviderFactory ( upn , keytab , config , logger ) ;
36+ this . s4uProvider = new S4UProviderFactory ( upn , keytab , delegationClient , delegationClient ? . Configuration , logger ) ;
3637 }
3738 }
3839
40+ public KerberosAuthenticator ( string upn , KeyTable keytab , Krb5Config config = null , ILoggerFactory logger = null )
41+ : this ( upn , keytab , new KerberosClient ( config , logger ) { CacheInMemory = true } , logger )
42+ { }
43+
3944 public KerberosAuthenticator ( KeyTable keytab , ILoggerFactory logger = null )
40- : this ( null , keytab , null , logger )
45+ : this ( null , keytab , ( Krb5Config ) null , logger )
4146 {
4247
4348 }
0 commit comments