Skip to content

Commit 3fdbee7

Browse files
authored
Merge branch 'main' into no-notifications-when-no-listeners
2 parents cf61886 + f582ec4 commit 3fdbee7

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

modules/auth/sso/reverseproxy.go

+14-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"code.gitea.io/gitea/models"
1313
"code.gitea.io/gitea/modules/log"
1414
"code.gitea.io/gitea/modules/setting"
15+
"code.gitea.io/gitea/modules/web/middleware"
1516

1617
gouuid "github.com/google/uuid"
1718
)
@@ -69,13 +70,21 @@ func (r *ReverseProxy) VerifyAuthData(req *http.Request, w http.ResponseWriter,
6970

7071
user, err := models.GetUserByName(username)
7172
if err != nil {
72-
if models.IsErrUserNotExist(err) && r.isAutoRegisterAllowed() {
73-
return r.newUser(req)
73+
if !models.IsErrUserNotExist(err) || !r.isAutoRegisterAllowed() {
74+
log.Error("GetUserByName: %v", err)
75+
return nil
7476
}
75-
log.Error("GetUserByName: %v", err)
76-
return nil
77+
user = r.newUser(req)
7778
}
7879

80+
// Make sure requests to API paths, attachment downloads, git and LFS do not create a new session
81+
if !middleware.IsAPIPath(req) && !isAttachmentDownload(req) && !isGitOrLFSPath(req) {
82+
if sess.Get("uid").(int64) != user.ID {
83+
handleSignIn(w, req, sess, user)
84+
}
85+
}
86+
store.GetData()["IsReverseProxy"] = true
87+
7988
log.Trace("ReverseProxy Authorization: Logged in user %-v", user)
8089
return user
8190
}
@@ -104,13 +113,13 @@ func (r *ReverseProxy) newUser(req *http.Request) *models.User {
104113
user := &models.User{
105114
Name: username,
106115
Email: email,
107-
Passwd: username,
108116
IsActive: true,
109117
}
110118
if err := models.CreateUser(user); err != nil {
111119
// FIXME: should I create a system notice?
112120
log.Error("CreateUser: %v", err)
113121
return nil
114122
}
123+
115124
return user
116125
}

templates/user/settings/profile.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<span class="text red hide" id="name-change-prompt"> {{.i18n.Tr "settings.change_username_prompt"}}</span>
1616
<span class="text red hide" id="name-change-redirect-prompt"> {{.i18n.Tr "settings.change_username_redirect_prompt"}}</span>
1717
</label>
18-
<input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required {{if not .SignedUser.IsLocal}}disabled{{end}}>
19-
{{if not .SignedUser.IsLocal}}
18+
<input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required {{if or (not .SignedUser.IsLocal) .IsReverseProxy}}disabled{{end}}>
19+
{{if or (not .SignedUser.IsLocal) .IsReverseProxy}}
2020
<p class="help text blue">{{$.i18n.Tr "settings.password_username_disabled"}}</p>
2121
{{end}}
2222
</div>

0 commit comments

Comments
 (0)