diff --git a/server/auth.go b/server/auth.go index 37a318a83..0a9fb369a 100644 --- a/server/auth.go +++ b/server/auth.go @@ -80,6 +80,9 @@ func buildAuthPayload(user *model.User) map[string]any { if conf.Server.EnableGravatar && user.Email != "" { payload["avatar"] = gravatar.Url(user.Email, 50) } + if tag := user.AvatarTag(); tag != "" { + payload["avatarTag"] = tag + } bytes := make([]byte, 3) _, err := rand.Read(bytes) diff --git a/server/auth_test.go b/server/auth_test.go index e021c82a8..518e148c8 100644 --- a/server/auth_test.go +++ b/server/auth_test.go @@ -216,6 +216,18 @@ var _ = Describe("Auth", func() { Expect(parsed["token"]).ToNot(BeEmpty()) }) }) + + Describe("buildAuthPayload", func() { + It("includes avatarTag when the user has an uploaded avatar", func() { + u := &model.User{ID: "u1", UserName: "deluan", UploadedImage: "u1_deluan.png", UpdatedAt: time.Unix(1000, 0)} + Expect(buildAuthPayload(u)["avatarTag"]).To(Equal(u.AvatarTag())) + }) + + It("omits avatarTag when there is none", func() { + u := &model.User{ID: "u1", UserName: "deluan"} + Expect(buildAuthPayload(u)).ToNot(HaveKey("avatarTag")) + }) + }) }) Describe("tokenFromHeader", func() {