From 9eeaab7bc876663edb827edf98c87f3daa6e8bdc Mon Sep 17 00:00:00 2001 From: Navid Nabavi Date: Sat, 24 Feb 2024 16:54:18 +0330 Subject: [PATCH] fix: add missing interface validation for structs that implements AuthenticationValidation in authenticator_filters.go (#40) --- pkg/auth/authenticator_filters.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/auth/authenticator_filters.go b/pkg/auth/authenticator_filters.go index 42900bf..33936b1 100644 --- a/pkg/auth/authenticator_filters.go +++ b/pkg/auth/authenticator_filters.go @@ -15,6 +15,8 @@ type AuthenticationValidation interface { type AuthenticatorPriorityValidation struct{} +var _ AuthenticationValidation = (*AuthenticatorPriorityValidation)(nil) + func (apt *AuthenticatorPriorityValidation) Validate(ac *AccessTokensCacheEntry, wsvc *WebservicesCacheEntry, _ *Request) (CerberusReason, CerberusExtraHeaders) { @@ -32,6 +34,8 @@ func (apt *AuthenticatorPriorityValidation) Validate(ac *AccessTokensCacheEntry, type AuthenticationIPValidation struct{} +var _ AuthenticationValidation = (*AuthenticationIPValidation)(nil) + // getIPListFromRequest extract IP addresses from request and it's headers func getIPListFromRequest(request *http.Request) (CerberusReason, []string) { ipList := make([]string, 0) @@ -107,6 +111,8 @@ func checkIP(ips []string, ipAllowList []string) (bool, error) { // AuthenticationDomainValidation validates for domain definitions type AuthenticationDomainValidation struct{} +var _ AuthenticationValidation = (*AuthenticationDomainValidation)(nil) + // Validate checks domain restrictions func (adv *AuthenticationDomainValidation) Validate(ac *AccessTokensCacheEntry, wsvc *WebservicesCacheEntry, request *Request) (CerberusReason, CerberusExtraHeaders) { @@ -149,6 +155,8 @@ func CheckDomain(domain string, domainAllowedList []string) (bool, error) { // AuthenticationTokenAccessValidation check for token and webservice access type AuthenticationTokenAccessValidation struct{} +var _ AuthenticationValidation = (*AuthenticationTokenAccessValidation)(nil) + // Validate checks token and webservice access func (adv *AuthenticationTokenAccessValidation) Validate(ac *AccessTokensCacheEntry, wsvc *WebservicesCacheEntry, request *Request) (CerberusReason, CerberusExtraHeaders) {