mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-11 23:54:22 +08:00
NET-1349: add new user to pending user via RAC login (#2967)
* add new user to pending user via RAC login * fix: add check for allowed domains --------- Co-authored-by: the_aceix <aceixsmartx@gmail.com>
This commit is contained in:
parent
50d8da2dc2
commit
1ce38f7c7c
1 changed files with 19 additions and 4 deletions
|
@ -6,6 +6,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/gravitl/netmaker/auth"
|
"github.com/gravitl/netmaker/auth"
|
||||||
|
"github.com/gravitl/netmaker/database"
|
||||||
"github.com/gravitl/netmaker/logger"
|
"github.com/gravitl/netmaker/logger"
|
||||||
"github.com/gravitl/netmaker/logic"
|
"github.com/gravitl/netmaker/logic"
|
||||||
"github.com/gravitl/netmaker/logic/pro/netcache"
|
"github.com/gravitl/netmaker/logic/pro/netcache"
|
||||||
|
@ -51,6 +52,10 @@ func HandleHeadlessSSOCallback(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !isEmailAllowed(userClaims.Email) {
|
||||||
|
handleOauthUserNotAllowedToSignUp(w)
|
||||||
|
return
|
||||||
|
}
|
||||||
// check if user approval is already pending
|
// check if user approval is already pending
|
||||||
if logic.IsPendingUser(userClaims.getUserName()) {
|
if logic.IsPendingUser(userClaims.getUserName()) {
|
||||||
handleOauthUserSignUpApprovalPending(w)
|
handleOauthUserSignUpApprovalPending(w)
|
||||||
|
@ -58,11 +63,21 @@ func HandleHeadlessSSOCallback(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
user, err := logic.GetUser(userClaims.getUserName())
|
user, err := logic.GetUser(userClaims.getUserName())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
response := returnErrTemplate("", "user not found", state, reqKeyIf)
|
if database.IsEmptyRecord(err) { // user must not exist, so try to make one
|
||||||
w.WriteHeader(http.StatusForbidden)
|
err = logic.InsertPendingUser(&models.User{
|
||||||
w.Write(response)
|
UserName: userClaims.getUserName(),
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
handleSomethingWentWrong(w)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
handleFirstTimeOauthUserSignUp(w)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
handleSomethingWentWrong(w)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
newPass, fetchErr := auth.FetchPassValue("")
|
newPass, fetchErr := auth.FetchPassValue("")
|
||||||
if fetchErr != nil {
|
if fetchErr != nil {
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Reference in a new issue