Class: Mints::BaseApiController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- Mints::BaseApiController
- Defined in:
- lib/mints/controllers/base_api_controller.rb
Instance Method Summary collapse
-
#mints_contact_login(email, password) ⇒ Object
Mints Contact Login.
-
#mints_contact_logout ⇒ Object
Mints Contact Logout.
-
#mints_contact_magic_link_login(hash) ⇒ Object
Mints contact Login.
-
#mints_user_login(email, password) ⇒ Object
Mints user Login.
-
#mints_user_logout ⇒ Object
Mints user Logout.
-
#mints_user_magic_link_login(hash) ⇒ Object
Mints user Login.
Instance Method Details
#mints_contact_login(email, password) ⇒ Object
Mints Contact Login.
Starts a contact session in mints.cloud and set a session cookie
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/mints/controllers/base_api_controller.rb', line 8 def mints_contact_login(email, password) # Login in mints response = @mints_contact.login(email, password) # Get session token from response session_token = response['session_token'] id_token = response['contact']['contact_token'] ? response['contact']['contact_token'] : response['contact']['id_token'] # Set a permanent cookie with the session token .permanent[:mints_contact_session_token] = { value: session_token, secure: true, httponly: true } .permanent[:mints_contact_id] = { value: id_token, secure: true, httponly: true } @contact_token = id_token end |
#mints_contact_logout ⇒ Object
Mints Contact Logout.
Destroy session from mints.cloud and delete local session cookie
43 44 45 46 47 48 49 50 |
# File 'lib/mints/controllers/base_api_controller.rb', line 43 def mints_contact_logout # Logout from mints @mints_contact.logout # Delete local cookie .delete(:mints_contact_session_token) .delete(:mints_contact_id) @contact_token = nil end |
#mints_contact_magic_link_login(hash) ⇒ Object
Mints contact Login.
Starts a contact session in mints.cloud and set a session cookie
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mints/controllers/base_api_controller.rb', line 23 def mints_contact_magic_link_login(hash) # Login in mints response = @mints_contact.magic_link_login(hash) if response['data'] # Get session token from response session_token = response['data']['session_token'] id_token = response['data']['contact']['contact_token'] ? response['data']['contact']['contact_token'] : response['data']['contact']['id_token'] # Set a permanent cookie with the session token .permanent[:mints_contact_session_token] = { value: session_token, secure: true, httponly: true } .permanent[:mints_contact_id] = { value: id_token, secure: true, httponly: true } @contact_token = id_token redirect_to response['data']['redirect_url'] ? response['data']['redirect_url'] : '/' else redirect_to '/' end end |
#mints_user_login(email, password) ⇒ Object
Mints user Login.
Starts a user session in mints.cloud and set a session cookie
55 56 57 58 59 60 61 62 |
# File 'lib/mints/controllers/base_api_controller.rb', line 55 def mints_user_login(email, password) # Login in mints response = @mints_user.login(email, password) # Get session token from response session_token = response['api_token'] # Set a permanent cookie with the session token [:mints_user_session_token] = { value: session_token, secure: true, httponly: true, expires: 1.day } end |
#mints_user_logout ⇒ Object
Mints user Logout.
Destroy session from mints.cloud and delete local session cookie
82 83 84 85 86 87 |
# File 'lib/mints/controllers/base_api_controller.rb', line 82 def mints_user_logout # Logout from mints # @mints_user.logout # Delete local cookie .delete(:mints_user_session_token) end |
#mints_user_magic_link_login(hash) ⇒ Object
Mints user Login.
Starts a user session in mints.cloud and set a session cookie
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/mints/controllers/base_api_controller.rb', line 67 def mints_user_magic_link_login(hash) # Login in mints response = @mints_user.magic_link_login(hash) if response['data'] # Set a cookie with the session token [:mints_user_session_token] = { value: response['data']['api_token'], secure: true, httponly: true, expires: 1.day } redirect_to response['data']['redirect_url'] ? response['data']['redirect_url'] : '/' else redirect_to '/' end end |