From 93b7c30aea27062a363d5aa5f122424e6733e937 Mon Sep 17 00:00:00 2001 From: zryfish Date: Fri, 24 Jul 2020 15:51:30 +0800 Subject: [PATCH] fix login with email (#2584) Signed-off-by: Jeff --- pkg/models/iam/im/login_recoder.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/models/iam/im/login_recoder.go b/pkg/models/iam/im/login_recoder.go index e3c3df491..7470ff46b 100644 --- a/pkg/models/iam/im/login_recoder.go +++ b/pkg/models/iam/im/login_recoder.go @@ -26,6 +26,7 @@ import ( kubesphere "kubesphere.io/kubesphere/pkg/client/clientset/versioned" "kubesphere.io/kubesphere/pkg/utils/net" "net/http" + "strings" ) type LoginRecorder interface { @@ -43,6 +44,10 @@ func NewLoginRecorder(ksClient kubesphere.Interface) LoginRecorder { } func (l *loginRecorder) RecordLogin(username string, loginType iamv1alpha2.LoginType, provider string, authErr error, req *http.Request) error { + // This is a temporary solution in case of user login with email, + // '@' is not allowed in Kubernetes object name. + username = strings.Replace(username, "@", "-", -1) + loginEntry := &iamv1alpha2.LoginRecord{ ObjectMeta: metav1.ObjectMeta{ GenerateName: fmt.Sprintf("%s-", username),