From fe4ed4205395d0fe412eada0c074576f31aa91fc Mon Sep 17 00:00:00 2001 From: Spencer Witt Date: Mon, 9 Jun 2025 15:37:57 -0500 Subject: [PATCH 1/4] add /api/user/verify and request to clients --- pkg/fusionauth/Client.go | 27 +++++++++++++++++++++++++++ pkg/fusionauth/Domain.go | 24 +++++++++++++++++------- 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/pkg/fusionauth/Client.go b/pkg/fusionauth/Client.go index e1512fe..2eeca85 100644 --- a/pkg/fusionauth/Client.go +++ b/pkg/fusionauth/Client.go @@ -10172,6 +10172,33 @@ func (c *FusionAuthClient) VerifyEmailAddressByUserIdWithContext(ctx context.Con return &resp, &errors, err } +// VerifyIdentity +// Administratively verify a user identity. +// +// VerifyRequest request The identity verify request that contains information to verify the identity. +func (c *FusionAuthClient) VerifyIdentity(request VerifyRequest) (*BaseHTTPResponse, *Errors, error) { + return c.VerifyIdentityWithContext(context.TODO(), request) +} + +// VerifyIdentityWithContext +// Administratively verify a user identity. +// +// VerifyRequest request The identity verify request that contains information to verify the identity. +func (c *FusionAuthClient) VerifyIdentityWithContext(ctx context.Context, request VerifyRequest) (*BaseHTTPResponse, *Errors, error) { + var resp BaseHTTPResponse + var errors Errors + + restClient := c.Start(&resp, &errors) + err := restClient.WithUri("/api/identity/verify"). + WithJSONBody(request). + WithMethod(http.MethodPost). + Do(ctx) + if restClient.ErrorRef == nil { + return &resp, nil, err + } + return &resp, &errors, err +} + // VerifyRegistration // Confirms an application registration. The Id given is usually from an email sent to the user. // diff --git a/pkg/fusionauth/Domain.go b/pkg/fusionauth/Domain.go index 18f2ebd..0761da3 100644 --- a/pkg/fusionauth/Domain.go +++ b/pkg/fusionauth/Domain.go @@ -3357,13 +3357,14 @@ func (e IdentityVerifiedReason) String() string { } const ( - IdentityVerifiedReason_Skipped IdentityVerifiedReason = "Skipped" - IdentityVerifiedReason_Trusted IdentityVerifiedReason = "Trusted" - IdentityVerifiedReason_Unverifiable IdentityVerifiedReason = "Unverifiable" - IdentityVerifiedReason_Implicit IdentityVerifiedReason = "Implicit" - IdentityVerifiedReason_Pending IdentityVerifiedReason = "Pending" - IdentityVerifiedReason_Completed IdentityVerifiedReason = "Completed" - IdentityVerifiedReason_Disabled IdentityVerifiedReason = "Disabled" + IdentityVerifiedReason_Skipped IdentityVerifiedReason = "Skipped" + IdentityVerifiedReason_Trusted IdentityVerifiedReason = "Trusted" + IdentityVerifiedReason_Unverifiable IdentityVerifiedReason = "Unverifiable" + IdentityVerifiedReason_Implicit IdentityVerifiedReason = "Implicit" + IdentityVerifiedReason_Pending IdentityVerifiedReason = "Pending" + IdentityVerifiedReason_Completed IdentityVerifiedReason = "Completed" + IdentityVerifiedReason_Disabled IdentityVerifiedReason = "Disabled" + IdentityVerifiedReason_Administrative IdentityVerifiedReason = "Administrative" ) /** @@ -7721,6 +7722,15 @@ func (b *VerifyRegistrationResponse) SetStatus(status int) { b.StatusCode = status } +/** + * Identity verify request. Used to administratively verify an identity. + */ +type VerifyRequest struct { + BaseEventRequest + IdentityId int64 `json:"identityId,omitempty"` + UserId string `json:"userId,omitempty"` +} + /** * Verify Send API request object. */ From a61637af6a29a7c8b83ab6176036cd3c45eea959 Mon Sep 17 00:00:00 2001 From: Spencer Witt Date: Mon, 9 Jun 2025 16:47:56 -0500 Subject: [PATCH 2/4] include identity Id in responses --- pkg/fusionauth/Domain.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/fusionauth/Domain.go b/pkg/fusionauth/Domain.go index 0761da3..3b83df6 100644 --- a/pkg/fusionauth/Domain.go +++ b/pkg/fusionauth/Domain.go @@ -7223,6 +7223,7 @@ type UserEmailVerifiedEvent struct { */ type UserIdentity struct { DisplayValue string `json:"displayValue,omitempty"` + Id int64 `json:"id,omitempty"` InsertInstant int64 `json:"insertInstant,omitempty"` LastLoginInstant int64 `json:"lastLoginInstant,omitempty"` LastUpdateInstant int64 `json:"lastUpdateInstant,omitempty"` From 8c08fba0c288850c8c2b181d6c696422ee51d503 Mon Sep 17 00:00:00 2001 From: Spencer Witt Date: Tue, 10 Jun 2025 13:46:22 -0500 Subject: [PATCH 3/4] do not return identity id --- pkg/fusionauth/Domain.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/fusionauth/Domain.go b/pkg/fusionauth/Domain.go index 3b83df6..0761da3 100644 --- a/pkg/fusionauth/Domain.go +++ b/pkg/fusionauth/Domain.go @@ -7223,7 +7223,6 @@ type UserEmailVerifiedEvent struct { */ type UserIdentity struct { DisplayValue string `json:"displayValue,omitempty"` - Id int64 `json:"id,omitempty"` InsertInstant int64 `json:"insertInstant,omitempty"` LastLoginInstant int64 `json:"lastLoginInstant,omitempty"` LastUpdateInstant int64 `json:"lastUpdateInstant,omitempty"` From bade5aba291564af214062427af9ba173af4966b Mon Sep 17 00:00:00 2001 From: Spencer Witt Date: Wed, 11 Jun 2025 08:39:23 -0500 Subject: [PATCH 4/4] regen for admin verify api --- pkg/fusionauth/Domain.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/fusionauth/Domain.go b/pkg/fusionauth/Domain.go index 0761da3..91308ce 100644 --- a/pkg/fusionauth/Domain.go +++ b/pkg/fusionauth/Domain.go @@ -7727,8 +7727,8 @@ func (b *VerifyRegistrationResponse) SetStatus(status int) { */ type VerifyRequest struct { BaseEventRequest - IdentityId int64 `json:"identityId,omitempty"` - UserId string `json:"userId,omitempty"` + LoginId string `json:"loginId,omitempty"` + LoginIdType string `json:"loginIdType,omitempty"` } /**