fix: reassign oauth adoption decisions on repeat login

This commit is contained in:
IanShaw027
2026-04-21 23:39:21 +08:00
parent 11db3989ce
commit e4cfcae652
2 changed files with 117 additions and 0 deletions

View File

@@ -1107,6 +1107,15 @@ func applyPendingOAuthBindingTx(
}
if decision != nil && (decision.IdentityID == nil || *decision.IdentityID != identity.ID) {
if _, err := tx.Client().IdentityAdoptionDecision.Update().
Where(
identityadoptiondecision.IdentityIDEQ(identity.ID),
identityadoptiondecision.IDNEQ(decision.ID),
).
ClearIdentityID().
Save(ctx); err != nil {
return err
}
if _, err := tx.Client().IdentityAdoptionDecision.UpdateOneID(decision.ID).
SetIdentityID(identity.ID).
Save(ctx); err != nil {