From 2cfec4fe374d25efdddc3830557a8c79f3ca45b7 Mon Sep 17 00:00:00 2001 From: MrMelon54 Date: Fri, 14 Mar 2025 14:46:54 +0000 Subject: [PATCH] Add fmt.Stringer to auth.Provider --- auth/provider.go | 3 +++ auth/providers/base.go | 2 ++ auth/providers/oauth.go | 2 ++ auth/providers/otp.go | 2 ++ auth/providers/passkey.go | 2 ++ auth/providers/password.go | 2 ++ 6 files changed, 13 insertions(+) diff --git a/auth/provider.go b/auth/provider.go index e889127..75a52c1 100644 --- a/auth/provider.go +++ b/auth/provider.go @@ -1,6 +1,7 @@ package auth import ( + "fmt" "github.com/1f349/lavender/auth/process" ) @@ -11,4 +12,6 @@ type Provider interface { // Name defines a string value for the provider. Name() string + + fmt.Stringer } diff --git a/auth/providers/base.go b/auth/providers/base.go index 2bdbe6b..9e7d2a3 100644 --- a/auth/providers/base.go +++ b/auth/providers/base.go @@ -33,6 +33,8 @@ func (b *Base) AccessState() process.State { return process.StateUnauthorized } func (b *Base) Name() string { return "base" } +func (b *Base) String() string { return "%Provider(base)" } + func (b *Base) RenderTemplate(ctx authContext.TemplateContext) error { type s struct { LoginNameMemory bool diff --git a/auth/providers/oauth.go b/auth/providers/oauth.go index 3aabd32..3b5ea7d 100644 --- a/auth/providers/oauth.go +++ b/auth/providers/oauth.go @@ -58,6 +58,8 @@ func (o OAuthLogin) AccessState() process.State { return process.StateUnauthoriz func (o OAuthLogin) Name() string { return "oauth" } +func (o OAuthLogin) String() string { return "%Provider(oauth)" } + func (o OAuthLogin) AttemptLogin(ctx authContext.FormContext) error { rCtx := ctx.Context() diff --git a/auth/providers/otp.go b/auth/providers/otp.go index aea0d88..6245cd4 100644 --- a/auth/providers/otp.go +++ b/auth/providers/otp.go @@ -32,6 +32,8 @@ func (o *OtpLogin) AccessState() process.State { return process.StateBasic } func (o *OtpLogin) Name() string { return "otp" } +func (o *OtpLogin) String() string { return "%Provider(otp)" } + func (o *OtpLogin) RenderTemplate(ctx authContext.TemplateContext) error { user := ctx.User() if user == nil || user.Subject == "" { diff --git a/auth/providers/passkey.go b/auth/providers/passkey.go index 07bd58c..6c30836 100644 --- a/auth/providers/passkey.go +++ b/auth/providers/passkey.go @@ -25,6 +25,8 @@ func (p *PasskeyLogin) AccessState() process.State { return process.StateUnautho func (p *PasskeyLogin) Name() string { return "passkey" } +func (p *PasskeyLogin) String() string { return "%Provider(passkey)" } + func (p *PasskeyLogin) RenderButtonTemplate(ctx authContext.TemplateContext) { // provide something non-nil ctx.Render(struct{}{}) diff --git a/auth/providers/password.go b/auth/providers/password.go index 16755a5..130264a 100644 --- a/auth/providers/password.go +++ b/auth/providers/password.go @@ -29,6 +29,8 @@ func (p *PasswordLogin) AccessState() process.State { return process.StateBase } func (p *PasswordLogin) Name() string { return "password" } +func (p *PasswordLogin) String() string { return "%Provider(password)" } + func (p *PasswordLogin) RenderTemplate(ctx authContext.TemplateContext) error { // TODO(melon): rewrite this req := ctx.Request()