diff --git a/selfservice/flow/login/hook.go b/selfservice/flow/login/hook.go index 44a06f471bb1..2df216f5f8fc 100644 --- a/selfservice/flow/login/hook.go +++ b/selfservice/flow/login/hook.go @@ -359,7 +359,7 @@ func (e *HookExecutor) maybeLinkCredentials(r *http.Request, s *session.Session, } method := strategy.CompletedAuthenticationMethod(r.Context()) - s.CompletedLoginFor(method.Method, method.AAL) + s.CompletedLoginForWithProvider(method.Method, method.AAL, method.Provider, method.Organization) return nil } diff --git a/selfservice/strategy/oidc/strategy.go b/selfservice/strategy/oidc/strategy.go index 4520874a4677..d58f2615ed17 100644 --- a/selfservice/strategy/oidc/strategy.go +++ b/selfservice/strategy/oidc/strategy.go @@ -669,6 +669,7 @@ func (s *Strategy) linkCredentials(ctx context.Context, i *identity.Identity, id return err } } + i.Credentials[s.ID()] = *creds if organization != "" { orgID, err := uuid.FromString(organization)