Class: Infrawrench::ProfileMfaNamespace
- Inherits:
-
Object
- Object
- Infrawrench::ProfileMfaNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.profile.mfa
Instance Method Summary collapse
-
#challenge(factor_id:, request_options: nil) ⇒ Hash
Issue a fresh challenge for a factor.
-
#create(request_options: nil) ⇒ Hash
Begin TOTP enrolment.
-
#delete(factor_id:, request_options: nil) ⇒ Hash
Remove an authentication factor.
-
#initialize(transport) ⇒ ProfileMfaNamespace
constructor
private
A new instance of ProfileMfaNamespace.
-
#list(request_options: nil) ⇒ Array<Hash>
List enrolled authentication factors.
-
#verify(factor_id:, body: nil, request_options: nil) ⇒ Hash
Verify a code against a challenge.
Constructor Details
#initialize(transport) ⇒ ProfileMfaNamespace
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of ProfileMfaNamespace.
4469 4470 4471 |
# File 'lib/infrawrench/client.rb', line 4469 def initialize(transport) @transport = transport end |
Instance Method Details
#challenge(factor_id:, request_options: nil) ⇒ Hash
Issue a fresh challenge for a factor
POST /api/profile/mfa/factorId/challenge
Raises on 401: Unauthenticated
Raises on 404: Not found
4485 4486 4487 4488 4489 4490 4491 4492 |
# File 'lib/infrawrench/client.rb', line 4485 def challenge(factor_id:, request_options: nil) @transport.request( http_method: "POST", path: "/api/profile/mfa/{factorId}/challenge", path_params: { "factorId" => factor_id }, request_options: ) end |
#create(request_options: nil) ⇒ Hash
Begin TOTP enrolment
Creates the factor and a first challenge. The factor only becomes usable
once a code is verified; abandon the flow by DELETEing the returned
factorId.
POST /api/profile/mfa
Raises on 401: Unauthenticated
Raises on 403: Recent sign-in required. Send the user through sign-in again and retry; the request itself was well-formed.
4510 4511 4512 4513 4514 4515 4516 |
# File 'lib/infrawrench/client.rb', line 4510 def create(request_options: nil) @transport.request( http_method: "POST", path: "/api/profile/mfa", request_options: ) end |
#delete(factor_id:, request_options: nil) ⇒ Hash
Remove an authentication factor
DELETE /api/profile/mfa/factorId
Raises on 401: Unauthenticated
Raises on 403: Recent sign-in required. Send the user through sign-in again and retry; the request itself was well-formed.
Raises on 404: Not found
4533 4534 4535 4536 4537 4538 4539 4540 |
# File 'lib/infrawrench/client.rb', line 4533 def delete(factor_id:, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/profile/mfa/{factorId}", path_params: { "factorId" => factor_id }, request_options: ) end |
#list(request_options: nil) ⇒ Array<Hash>
List enrolled authentication factors
Includes factors whose enrolment was never confirmed — WorkOS does not expose a verified flag.
GET /api/profile/mfa
Raises on 401: Unauthenticated
4555 4556 4557 4558 4559 4560 4561 |
# File 'lib/infrawrench/client.rb', line 4555 def list(request_options: nil) @transport.request( http_method: "GET", path: "/api/profile/mfa", request_options: ) end |
#verify(factor_id:, body: nil, request_options: nil) ⇒ Hash
Verify a code against a challenge
POST /api/profile/mfa/factorId/verify
Raises on 400: Bad request
Raises on 401: Unauthenticated
Raises on 404: Not found
4578 4579 4580 4581 4582 4583 4584 4585 4586 |
# File 'lib/infrawrench/client.rb', line 4578 def verify(factor_id:, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/profile/mfa/{factorId}/verify", path_params: { "factorId" => factor_id }, body: body, request_options: ) end |