Files
1Panel/core/utils/xpack/providers/auth.go
be672d604f feat:Support logging in with oidc and saml2 (#13441)
* feat(auth): implement OIDC authentication endpoints and error handling

* feat(auth): add OIDC provider discovery endpoint and related functionality

* feat(auth): add SAML2 authentication support and related functionality

* feat(auth): add LDAP authentication support and related functionality

* fix(auth): improve login keydown handler for better event handling
2026-08-03 13:43:01 +08:00

42 lines
1.7 KiB
Go

package providers
import (
"github.com/1Panel-dev/1Panel/core/app/dto"
"github.com/1Panel-dev/1Panel/core/utils/mfa"
"github.com/gin-gonic/gin"
)
type AuthProvider interface {
Login(c *gin.Context, info dto.Login, entrance string) (*dto.UserLoginInfo, string, error)
MFALogin(c *gin.Context, info dto.MFALogin, entrance string) (*dto.UserLoginInfo, string, error)
PrepareLogout(c *gin.Context) (*dto.LogoutResult, error)
ResetSuperAdminUser(name, password string) error
LoadMFA(c *gin.Context, req dto.MfaRequest) (mfa.Otp, error)
MFABind(c *gin.Context, req dto.MfaCredential) error
MFAClose(c *gin.Context) error
GenerateApiKey(c *gin.Context) (string, error)
UpdateApiConfig(c *gin.Context, req dto.ApiInterfaceConfig) error
PasskeyBeginLogin(c *gin.Context, entrance string) (*dto.PasskeyBeginResponse, string, error)
PasskeyFinishLogin(c *gin.Context, sessionID, entrance string) (*dto.UserLoginInfo, string, error)
PasskeyBeginRegister(c *gin.Context, name string) (*dto.PasskeyBeginResponse, string, error)
PasskeyFinishRegister(c *gin.Context, sessionID string) (string, error)
PasskeyList(c *gin.Context) ([]dto.PasskeyInfo, error)
PasskeyDelete(c *gin.Context, id string) error
PasskeyStatus(c *gin.Context) bool
ClearPasskeys() error
GetCurrentUserInfo(c *gin.Context) (*dto.CurrentUserInfo, error)
ShouldCheckPasswordExpiration(c *gin.Context) (bool, error)
LoadPasswordExpirationTime(c *gin.Context) (string, error)
SyncPasswordExpirationTime(expirationDays string) error
UpdateCurrentUserInfo(c *gin.Context, req dto.CurrentUserUpdate) error
HandlePasswordExpired(c *gin.Context, old, new string) error
CoreAPIAuthMiddleware() gin.HandlerFunc
CoreRBACMiddlewares() []gin.HandlerFunc
}