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