Class: Instant2fa::Client
- Inherits:
-
Object
- Object
- Instant2fa::Client
- Defined in:
- lib/instant2fa/client.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Instance Method Summary collapse
- #confirm_verification(distinct_id, token, options = {}) ⇒ Object
- #create_settings(distinct_id, options = {}) ⇒ Object
- #create_verification(distinct_id, options = {}) ⇒ Object
-
#initialize(config = Instant2fa.config.dup, options = {}) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(config = Instant2fa.config.dup, options = {}) ⇒ Client
Returns a new instance of Client.
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/instant2fa/client.rb', line 13 def initialize(config=Instant2fa.config.dup, ={}) @config = config Resources::Base.site = @config.api_base Resources::Base.connection(true) do |connection| # hack because it currently doesn't raise for 422 connection.use Middleware::UnprocessableEntityStatus connection.use FaradayMiddleware::FollowRedirects connection.use Faraday::Request::BasicAuthentication, @config.access_key, @config.access_secret end end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
11 12 13 |
# File 'lib/instant2fa/client.rb', line 11 def config @config end |
Instance Method Details
#confirm_verification(distinct_id, token, options = {}) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/instant2fa/client.rb', line 46 def confirm_verification(distinct_id, token, = {}) raise Errors::BadDistinctID, "distinct_id cannot be nil" unless distinct_id verification_response_result_set = Resources::VerificationResponseToken.find(token) verification_response = verification_response_result_set[0] if verification_response.distinct_id != distinct_id.to_s raise Errors::VerificationMismatch, "The distinctID passed back from the request didn't match the one passed into this function. Are you passing in the right value for distinctID?" end if verification_response.status != 'succeeded' raise Errors::VerificationFailed, "The verification did not pass. The status was: #{verification_response.status}." end true end |
#create_settings(distinct_id, options = {}) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/instant2fa/client.rb', line 25 def create_settings(distinct_id, = {}) raise Errors::BadDistinctID, "distinct_id cannot be nil" unless distinct_id user_access_token = Resources::UserAccessToken.create(distinct_id: distinct_id.to_s) raise_if_errors(user_access_token) return user_access_token.hosted_page_url end |
#create_verification(distinct_id, options = {}) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/instant2fa/client.rb', line 33 def create_verification(distinct_id, = {}) raise Errors::BadDistinctID, "distinct_id cannot be nil" unless distinct_id begin verification_request = Resources::VerificationRequest.create(distinct_id: distinct_id.to_s) raise_if_errors(verification_request) rescue JsonApiClient::Errors::UnprocessableEntity raise Errors::MFANotEnabled.new, "User has not enabled an MFA device on their account." end return verification_request.hosted_page_url end |