From e0202f3f42576831148a7f9fac5b0b8286d04bce Mon Sep 17 00:00:00 2001 From: Eric Chlebek Date: Wed, 14 Dec 2022 14:27:20 -0800 Subject: [PATCH] Add core/v3.AuthProvider It's like core/v2.AuthProvider, but for core/v3 Signed-off-by: Eric Chlebek --- v3/provider.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 v3/provider.go diff --git a/v3/provider.go b/v3/provider.go new file mode 100644 index 0000000..43b641d --- /dev/null +++ b/v3/provider.go @@ -0,0 +1,22 @@ +package v3 + +import ( + "context" + + corev2 "github.com/sensu/core/v2" +) + +// AuthProvider represents an abstracted authentication provider +type AuthProvider interface { + Resource + + // Authenticate attempts to authenticate a user with its username and password + Authenticate(ctx context.Context, username, password string) (*corev2.Claims, error) + // Refresh renews the user claims with the provider claims + Refresh(ctx context.Context, claims *corev2.Claims) (*corev2.Claims, error) + + // Name returns the provider name (e.g. default) + Name() string + // Type returns the provider type (e.g. ldap) + Type() string +}