Class: Authy::API
- Inherits:
-
Object
- Object
- Authy::API
- Extended by:
- HTTPClient::IncludeClient
- Includes:
- URL
- Defined in:
- lib/authy/api.rb
Direct Known Subclasses
Constant Summary collapse
- MIN_TOKEN_SIZE =
6- MAX_TOKEN_SIZE =
12
Class Method Summary collapse
-
.delete_user(params) ⇒ Object
options: :id user id.
- .register_user(attributes) ⇒ Object
-
.request_email(params) ⇒ Object
options: :id user id.
-
.request_phone_call(params) ⇒ Object
options: :id user id :force force phone_call.
-
.request_qr_code(params) ⇒ Object
options: :id user id :qr_size qr size :qr_label context for qr code.
-
.request_sms(params) ⇒ Object
options: :id user id :force force sms.
-
.update_user(params) ⇒ Object
options: :id user id :email user’s new email.
-
.user_status(params) ⇒ Object
options: :id user id.
-
.verify(params) ⇒ Object
options: :id user id :token authy token entered by the user :force (true|false) force to check even if the cellphone is not confirmed.
Methods included from URL
Class Method Details
.delete_user(params) ⇒ Object
options: :id user id
106 107 108 109 110 |
# File 'lib/authy/api.rb', line 106 def self.delete_user(params) user_id = params.delete(:id) || params.delete("id") post_request("protected/json/users/delete/:user_id", params.merge({"user_id" => user_id})) end |
.register_user(attributes) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/authy/api.rb', line 13 def self.register_user(attributes) api_key = attributes.delete(:api_key) || Authy.api_key send_install_link_via_sms = attributes.delete(:send_install_link_via_sms) { true } params = { :user => attributes, :send_install_link_via_sms => send_install_link_via_sms } url = "#{Authy.api_uri}/protected/json/users/new" response = http_client.post(url, :body => escape_query(params), :header => default_header(params: { api_key: api_key })) Authy::User.new(response) end |
.request_email(params) ⇒ Object
options: :id user id
89 90 91 92 93 |
# File 'lib/authy/api.rb', line 89 def self.request_email(params) user_id = params.delete(:id) || params.delete('id') post_request("protected/json/email/:user_id", params.merge({"user_id" => user_id})) end |
.request_phone_call(params) ⇒ Object
options: :id user id :force force phone_call
81 82 83 84 85 |
# File 'lib/authy/api.rb', line 81 def self.request_phone_call(params) user_id = params.delete(:id) || params.delete("id") get_request("protected/json/call/:user_id", params.merge({"user_id" => user_id})) end |
.request_qr_code(params) ⇒ Object
options: :id user id :qr_size qr size :qr_label context for qr code
63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/authy/api.rb', line 63 def self.request_qr_code(params) user_id = params.delete(:id) || params.delete("id") qr_size = params.delete(:qr_size) || params.delete("qr_size") || 300 qr_label = params.delete(:qr_label) || params.delete("qr_label") || "" return invalid_response("User id is invalid") unless is_digit?(user_id) return invalid_response("Qr image size is invalid") unless is_digit?(qr_size) response = post_request("protected/json/users/:user_id/secret", params.merge({ "user_id" => user_id, "qr_size" => qr_size, "label" => qr_label })) end |
.request_sms(params) ⇒ Object
options: :id user id :force force sms
53 54 55 56 57 |
# File 'lib/authy/api.rb', line 53 def self.request_sms(params) user_id = params.delete(:id) || params.delete("id") get_request("protected/json/sms/:user_id", params.merge({"user_id" => user_id})) end |
.update_user(params) ⇒ Object
options: :id user id :email user’s new email
98 99 100 101 102 |
# File 'lib/authy/api.rb', line 98 def self.update_user(params) user_id = params.delete(:id) || params.delete('id') post_request("protected/json/users/:user_id/update", params.merge({"user_id" => user_id})) end |
.user_status(params) ⇒ Object
options: :id user id
114 115 116 117 |
# File 'lib/authy/api.rb', line 114 def self.user_status(params) user_id = params.delete(:id) || params.delete("id") get_request("protected/json/users/:user_id/status", params.merge({"user_id" => user_id})) end |
.verify(params) ⇒ Object
options: :id user id :token authy token entered by the user :force (true|false) force to check even if the cellphone is not confirmed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/authy/api.rb', line 32 def self.verify(params) token = params.delete(:token) || params.delete("token") user_id = params.delete(:id) || params.delete("id") return invalid_response("Token format is invalid") unless token_is_safe?(token) return invalid_response("User id is invalid") unless is_digit?(user_id) params[:force] = true if params[:force].nil? && params["force"].nil? response = get_request("protected/json/verify/:token/:user_id", params.merge({ "token" => token, "user_id" => user_id })) return verify_response(response) if response.ok? return response end |