Class: Firefighter::Identitytoolkit
- Inherits:
-
Object
- Object
- Firefighter::Identitytoolkit
- Includes:
- Web
- Defined in:
- lib/firefighter/identitytoolkit.rb
Class Method Summary collapse
Instance Method Summary collapse
- #account_info(id_token, local_ids: [], emails: []) ⇒ Object
- #download_accounts(access_token = TokenGenerator.from_env.fetch_access_token) ⇒ Object
-
#initialize(api_key:, service_account_email:) ⇒ Identitytoolkit
constructor
A new instance of Identitytoolkit.
- #signup(email, password) ⇒ Object
Methods included from Web
Constructor Details
#initialize(api_key:, service_account_email:) ⇒ Identitytoolkit
Returns a new instance of Identitytoolkit.
13 14 15 16 |
# File 'lib/firefighter/identitytoolkit.rb', line 13 def initialize(api_key:, service_account_email:) @api_key = api_key @service_account_email = service_account_email end |
Class Method Details
.from_env ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/firefighter/identitytoolkit.rb', line 5 def self.from_env config = { api_key: ENV['FIREBASE_WEB_API_KEY'], service_account_email: ENV['FIREBASE_SERVICE_ACCOUNT_EMAIL'], } new(config) end |
Instance Method Details
#account_info(id_token, local_ids: [], emails: []) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/firefighter/identitytoolkit.rb', line 28 def account_info(id_token, local_ids: [], emails: []) url = endpoint('getAccountInfo') data = { idToken: id_token, localId: local_ids, email: emails, } call(:post, url, data) end |
#download_accounts(access_token = TokenGenerator.from_env.fetch_access_token) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/firefighter/identitytoolkit.rb', line 38 def download_accounts(access_token = TokenGenerator.from_env.fetch_access_token) users = [] headers = {Authorization: "Bearer #{access_token}" } url = endpoint('downloadAccount') paginate(url, headers: headers) { |data| users << data['users'] } users.flatten.compact end |
#signup(email, password) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/firefighter/identitytoolkit.rb', line 18 def signup(email, password) url = endpoint('signupNewUser') data = { email: email, password: password, returnSecureToken: true } call(:post, url, data) end |