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.
2841 2842 2843 |
# File 'lib/infrawrench/client.rb', line 2841 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
2857 2858 2859 2860 2861 2862 2863 2864 |
# File 'lib/infrawrench/client.rb', line 2857 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.
2882 2883 2884 2885 2886 2887 2888 |
# File 'lib/infrawrench/client.rb', line 2882 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
2905 2906 2907 2908 2909 2910 2911 2912 |
# File 'lib/infrawrench/client.rb', line 2905 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
2927 2928 2929 2930 2931 2932 2933 |
# File 'lib/infrawrench/client.rb', line 2927 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
2950 2951 2952 2953 2954 2955 2956 2957 2958 |
# File 'lib/infrawrench/client.rb', line 2950 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 |