0.0
No commit activity in last 3 years
No release in over 3 years
This app closes the gap between the huge world of ruby and meteor through devise. Simply install, configure and use it to connect to your desired meteor server.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
>= 0
>= 5.0
>= 4
 Project Readme

Mongoid Devise For Meteor

This gem provides a convenient way to connect your RailsApp to an existing Meteor app.

What it does:

It saves the first matching email from meteors emails-Array into the email field which is used by devise. It saves the hash from meteors services.password.bcrypt into the encrypted_password-field which is used by devise. It confirms the devise user if the matching email was confirmed already in meteor.

HELP NEEDED

What it does not:

At the moment it is not possible to use the password generated by app one on app two and vice versa. I dont know why. As you can see in the source, I have built a custom Sha256-class which should act like the meteor encrypt/decrypt process. For any reason the comparison between the meteor generated bcrypt/sha256 password and the custom/devise generated one differs.

But for now, it's possible to generate a new one by using the default methods provided by devise.

Requirements

  1. You need an running Meteor server with the accounts-password library, ready setup and tested
  2. You need an running Rails app with mongoid as the default database up and running with database_a_uthenticatable

Installation

Add this line to your application's Gemfile:

gem 'devise_meteor'

And then execute:

$ bundle install

Add change/add the new authentication strategy to your initializers/devise.rb. It is already a placeholder near the bottom of the file:

  # ==> Warden configuration
  # If you want to use other strategies, that are not supported by Devise, or
  # change the failure app, you can configure them inside the config.warden block.
  #
  config.warden do |manager|
    manager.strategies.add(:meteor, Devise::Strategies::Meteor)
    manager.default_strategies(scope: :user).unshift :meteor
  end

Usage

Add the following after your field definitions in your resource (mostly the User model).

  include DeviseMeteor::MeteorUserModel

  # disable the mapping for the password simply use this line (not working right now)
  disable_meteor_mapping

This adds the profile and services relations are used by every meteor app which uses accounts. Also the handling for password updates are made in this class.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mediatainment/devise_meteor This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.