Skip to content

Commit 482499b

Browse files
wied03robotdanbhalseyspwitt
authored
Merge degroff/ENG-1/issue1 (#46)
* Updated version for fusionauth-ruby-client to 1.55.0 * Updated version for fusionauth-ruby-client to 1.56.0 * Merge wied03/ENG-1/tenant-mode-internal-user-removal (#20) * client builder regen * api version removal * merge develop into issue1 * updates from app (#22) * generate for identity verification external id configuration * ENG-2608 - New APIs/method overloads (#35) * Updates * Let's test on all PRs * Add loginId tests * Cleanup properly (and can't test without dev image) * fix this * add report method * revert overloads * test fixes * client correct/optional * now that this overload does not have opt params, remove defaults * client builder sb build * add /api/user/verify and request to clients (#37) * sb build follow up --------- Co-authored-by: Daniel DeGroff <daniel@fusionauth.io> Co-authored-by: Brent Halsey <brent.halsey@fusionauth.io> Co-authored-by: Spencer Witt <spencer@fusionauth.io> Co-authored-by: Spencer Witt <spencer.witt@gmail.com> Co-authored-by: Spencer Witt <3409780+spwitt@users.noreply.github.com>
1 parent 21f0b53 commit 482499b

4 files changed

Lines changed: 226 additions & 123 deletions

File tree

.github/workflows/test.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ on:
66
- develop
77
- main
88
pull_request:
9-
branches:
10-
- develop
11-
- main
129
workflow_dispatch:
1310

1411
permissions:

fusionauth-ruby-client.iml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
<orderEntry type="jdk" jdkName="rbenv: 3.4.2" jdkType="RUBY_SDK" />
1010
<orderEntry type="sourceFolder" forTests="false" />
1111
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.6.2, rbenv: 3.4.2) [gem]" level="application" />
12-
<orderEntry type="library" scope="PROVIDED" name="cgi (v0.4.2, rbenv: 3.4.2) [gem]" level="application" />
13-
<orderEntry type="library" scope="PROVIDED" name="psych (v5.2.3, rbenv: 3.4.2) [gem]" level="application" />
12+
<orderEntry type="library" scope="PROVIDED" name="racc (v1.8.1, rbenv: 3.4.2) [gem]" level="application" />
1413
<orderEntry type="library" scope="PROVIDED" name="rake (v13.2.1, rbenv: 3.4.2) [gem]" level="application" />
1514
</component>
16-
</module>
15+
</module>

lib/fusionauth/fusionauth_client.rb

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,18 @@ def comment_on_user(request)
265265
.go
266266
end
267267

268+
#
269+
# Completes verification of an identity using verification codes from the Verify Start API.
270+
#
271+
# @param request [OpenStruct, Hash] The identity verify complete request that contains all the information used to verify the identity.
272+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
273+
def complete_verify_identity(request)
274+
start.uri('/api/identity/verify/complete')
275+
.body_handler(FusionAuth::JSONBodyHandler.new(request))
276+
.post
277+
.go
278+
end
279+
268280
#
269281
# Complete a WebAuthn authentication ceremony by validating the signature against the previously generated challenge without logging the user in
270282
#
@@ -3405,6 +3417,20 @@ def retrieve_user_by_login_id(login_id)
34053417
.go
34063418
end
34073419

3420+
#
3421+
# Retrieves the user for the loginId, using specific loginIdTypes.
3422+
#
3423+
# @param login_id [string] The email or username of the user.
3424+
# @param login_id_types [Array] the identity types that FusionAuth will compare the loginId to.
3425+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
3426+
def retrieve_user_by_login_id_with_login_id_types(login_id, login_id_types)
3427+
start.uri('/api/user')
3428+
.url_parameter('loginId', login_id)
3429+
.url_parameter('loginIdTypes', login_id_types)
3430+
.get
3431+
.go
3432+
end
3433+
34083434
#
34093435
# Retrieves the user for the given username.
34103436
#
@@ -3586,6 +3612,27 @@ def retrieve_user_login_report_by_login_id(application_id, login_id, start, _end
35863612
.go
35873613
end
35883614

3615+
#
3616+
# Retrieves the login report between the two instants for a particular user by login Id, using specific loginIdTypes. If you specify an application id, it will only return the
3617+
# login counts for that application.
3618+
#
3619+
# @param application_id [string] (Optional) The application id.
3620+
# @param login_id [string] The userId id.
3621+
# @param start [OpenStruct, Hash] The start instant as UTC milliseconds since Epoch.
3622+
# @param _end [OpenStruct, Hash] The end instant as UTC milliseconds since Epoch.
3623+
# @param login_id_types [Array] the identity types that FusionAuth will compare the loginId to.
3624+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
3625+
def retrieve_user_login_report_by_login_id_and_login_id_types(application_id, login_id, start, _end, login_id_types)
3626+
start.uri('/api/report/login')
3627+
.url_parameter('applicationId', application_id)
3628+
.url_parameter('loginId', login_id)
3629+
.url_parameter('start', start)
3630+
.url_parameter('end', _end)
3631+
.url_parameter('loginIdTypes', login_id_types)
3632+
.get
3633+
.go
3634+
end
3635+
35893636
#
35903637
# Retrieves the last number of login records for a user.
35913638
#
@@ -4215,6 +4262,18 @@ def send_two_factor_code_for_login_using_method(two_factor_id, request)
42154262
.go
42164263
end
42174264

4265+
#
4266+
# Send a verification code using the appropriate transport for the identity type being verified.
4267+
#
4268+
# @param request [OpenStruct, Hash] The identity verify send request that contains all the information used send the code.
4269+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
4270+
def send_verify_identity(request)
4271+
start.uri('/api/identity/verify/send')
4272+
.body_handler(FusionAuth::JSONBodyHandler.new(request))
4273+
.post
4274+
.go
4275+
end
4276+
42184277
#
42194278
# Begins a login request for a 3rd party login that requires user interaction such as HYPR.
42204279
#
@@ -4258,6 +4317,19 @@ def start_two_factor_login(request)
42584317
.go
42594318
end
42604319

4320+
#
4321+
# Start a verification of an identity by generating a code. This code can be sent to the User using the Verify Send API
4322+
# Verification Code API or using a mechanism outside of FusionAuth. The verification is completed by using the Verify Complete API with this code.
4323+
#
4324+
# @param request [OpenStruct, Hash] The identity verify start request that contains all the information used to begin the request.
4325+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
4326+
def start_verify_identity(request)
4327+
start.uri('/api/identity/verify/start')
4328+
.body_handler(FusionAuth::JSONBodyHandler.new(request))
4329+
.post
4330+
.go
4331+
end
4332+
42614333
#
42624334
# Start a WebAuthn authentication ceremony by generating a new challenge for the user
42634335
#
@@ -4840,6 +4912,18 @@ def verify_email_address_by_user_id(request)
48404912
.go
48414913
end
48424914

4915+
#
4916+
# Administratively verify a user identity.
4917+
#
4918+
# @param request [OpenStruct, Hash] The identity verify request that contains information to verify the identity.
4919+
# @return [FusionAuth::ClientResponse] The ClientResponse object.
4920+
def verify_identity(request)
4921+
start.uri('/api/identity/verify')
4922+
.body_handler(FusionAuth::JSONBodyHandler.new(request))
4923+
.post
4924+
.go
4925+
end
4926+
48434927
#
48444928
# Confirms an application registration. The Id given is usually from an email sent to the user.
48454929
#

0 commit comments

Comments
 (0)