parent
c2e098fb10
commit
c7e5749338
|
@ -11,7 +11,6 @@ import (
|
||||||
sessionmiddleware "git.maronato.dev/maronato/goshort/internal/server/middleware/session"
|
sessionmiddleware "git.maronato.dev/maronato/goshort/internal/server/middleware/session"
|
||||||
userservice "git.maronato.dev/maronato/goshort/internal/service/user"
|
userservice "git.maronato.dev/maronato/goshort/internal/service/user"
|
||||||
"git.maronato.dev/maronato/goshort/internal/storage/models"
|
"git.maronato.dev/maronato/goshort/internal/storage/models"
|
||||||
"git.maronato.dev/maronato/goshort/internal/util/logging"
|
|
||||||
"github.com/alexedwards/scs/v2"
|
"github.com/alexedwards/scs/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -89,14 +88,8 @@ func UpdateSession(ctx context.Context, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoginUser(ctx context.Context, user *models.User, r *http.Request) {
|
func LoginUser(ctx context.Context, user *models.User, r *http.Request) {
|
||||||
l := logging.FromCtx(ctx)
|
|
||||||
|
|
||||||
manager := sessionmiddleware.SessionManagerFromCtx(ctx)
|
manager := sessionmiddleware.SessionManagerFromCtx(ctx)
|
||||||
|
|
||||||
l.DebugContext(ctx, "got session manager", "manager", manager)
|
|
||||||
|
|
||||||
l.DebugContext(ctx, "Logging in user", "username", user.Username, "sessionToken", manager.Token(ctx))
|
|
||||||
|
|
||||||
manager.Put(ctx, sessionUserKey, user.Username)
|
manager.Put(ctx, sessionUserKey, user.Username)
|
||||||
manager.Put(ctx, sessionCreatedAtKey, time.Now().Format(time.RFC3339))
|
manager.Put(ctx, sessionCreatedAtKey, time.Now().Format(time.RFC3339))
|
||||||
// Update session
|
// Update session
|
||||||
|
|
|
@ -43,7 +43,7 @@ func SessionManager(cfg *config.Config) func(http.Handler) http.Handler {
|
||||||
|
|
||||||
func SessionManagerFromCtx(ctx context.Context) *scs.SessionManager {
|
func SessionManagerFromCtx(ctx context.Context) *scs.SessionManager {
|
||||||
sessionManager, err := ctx.Value(sessionContextKey{}).(*scs.SessionManager)
|
sessionManager, err := ctx.Value(sessionContextKey{}).(*scs.SessionManager)
|
||||||
if !err || sessionManager == nil {
|
if !err {
|
||||||
// This should never happen.
|
// This should never happen.
|
||||||
panic("session manager not found in context")
|
panic("session manager not found in context")
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,8 +118,6 @@ func (h *OIDCHandler) Callback(w http.ResponseWriter, r *http.Request) {
|
||||||
// Now that user is guaranteed to exist, log them in
|
// Now that user is guaranteed to exist, log them in
|
||||||
span.AddEvent("user found or created")
|
span.AddEvent("user found or created")
|
||||||
|
|
||||||
l.DebugContext(ctx, "logging in user", "user", user, "email", userInfo.Email, "username", user.Username)
|
|
||||||
|
|
||||||
authmiddleware.LoginUser(ctx, user, r)
|
authmiddleware.LoginUser(ctx, user, r)
|
||||||
|
|
||||||
span.AddEvent("logged in user")
|
span.AddEvent("logged in user")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user