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.
3510 3511 3512 |
# File 'lib/infrawrench/client.rb', line 3510 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
3526 3527 3528 3529 3530 3531 3532 3533 |
# File 'lib/infrawrench/client.rb', line 3526 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.
3551 3552 3553 3554 3555 3556 3557 |
# File 'lib/infrawrench/client.rb', line 3551 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
3574 3575 3576 3577 3578 3579 3580 3581 |
# File 'lib/infrawrench/client.rb', line 3574 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
3596 3597 3598 3599 3600 3601 3602 |
# File 'lib/infrawrench/client.rb', line 3596 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
3619 3620 3621 3622 3623 3624 3625 3626 3627 |
# File 'lib/infrawrench/client.rb', line 3619 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 |