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.
2879 2880 2881 |
# File 'lib/infrawrench/client.rb', line 2879 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
2895 2896 2897 2898 2899 2900 2901 2902 |
# File 'lib/infrawrench/client.rb', line 2895 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.
2920 2921 2922 2923 2924 2925 2926 |
# File 'lib/infrawrench/client.rb', line 2920 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
2943 2944 2945 2946 2947 2948 2949 2950 |
# File 'lib/infrawrench/client.rb', line 2943 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
2965 2966 2967 2968 2969 2970 2971 |
# File 'lib/infrawrench/client.rb', line 2965 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
2988 2989 2990 2991 2992 2993 2994 2995 2996 |
# File 'lib/infrawrench/client.rb', line 2988 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 |