@@ -78,27 +78,37 @@ func VerificationCallback(w http.ResponseWriter, r *http.Request) {
7878 nullifier .FillBytes (nullifierBytes [:])
7979 nullifierHex := hex .EncodeToString (nullifierBytes [:])
8080
81- userIDHash , err := helpers .ExtractEventData (getter )
81+ eventDataFromProof , err := helpers .ExtractEventData (getter )
8282 if err != nil {
83- ctx .Log (r ).WithError (err ).Errorf ("failed to extract user hash from event data" )
83+ ctx .Log (r ).WithError (err ).Errorf ("failed to extract event data" )
8484 ape .RenderErr (w , problems .BadRequest (validation.Errors {
8585 "pub_signals/event_data" : err ,
8686 })... )
8787 return
8888 }
8989
90- verifiedUser , err := ctx .VerifyUsersQ (r ).WhereHashID ( userIDHash ).Get ()
90+ verifiedUser , err := ctx .VerifyUsersQ (r ).FilterByEventData ( eventDataFromProof ).Get ()
9191 if err != nil {
92- ctx .Log (r ).WithError (err ).Errorf ("failed to get user with userHashID [%s]" , userIDHash )
93- ape .RenderErr (w , problems .BadRequest ( err ) ... )
92+ ctx .Log (r ).WithError (err ).Error ("failed to get user with event_data" )
93+ ape .RenderErr (w , problems .InternalError () )
9494 return
9595 }
96+
97+ if verifiedUser == nil {
98+ verifiedUser , err = ctx .VerifyUsersQ (r ).WhereHashID (eventDataFromProof ).Get ()
99+ if err != nil {
100+ ctx .Log (r ).WithError (err ).Error ("failed to get user with user_id_hash" )
101+ ape .RenderErr (w , problems .InternalError ())
102+ return
103+ }
104+ }
105+
96106 if verifiedUser == nil {
97107 ctx .Log (r ).WithFields (logan.F {
98108 "event_data" : getter .Get (zk .EventData ),
99- "user_id_hash" : userIDHash ,
109+ "user_id_hash" : eventDataFromProof ,
100110 "id" : req .Data .ID ,
101- }).Error ("user not found or eventData != userHashID " )
111+ }).Error ("user not found" )
102112 ape .RenderErr (w , problems .NotFound ())
103113 return
104114 }
@@ -169,7 +179,7 @@ func VerificationCallback(w http.ResponseWriter, r *http.Request) {
169179 "service_timestamp" : ctx .Verifiers (r ).ServiceStartTimestamp ,
170180 "identity_timestamp_upper_bound" : identityTimestampUpperBound ,
171181 "identity_counter_upper_bound" : identityCounterUpperBound ,
172- "user_id_hash" : userIDHash ,
182+ "user_id_hash" : eventDataFromProof ,
173183 }).Errorf ("failed to check uniqueness" )
174184 verifiedUser .Status = "uniqueness_check_failed"
175185 }
0 commit comments