Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging Devise Security Extension into Devise? #4619

Closed
dillonwelch opened this issue Aug 15, 2017 · 6 comments
Closed

Merging Devise Security Extension into Devise? #4619

dillonwelch opened this issue Aug 15, 2017 · 6 comments

Comments

@dillonwelch
Copy link

In addition to Devise, there's a gem called devise_security_extension that builds on Devise and adds additional modules. Unfortunately, the original maintainers have gone MIA which has made it difficult to get maintenance updates for things like Rails 5 fixes or Ruby 2.4 fixes merged in, let alone bug fixes or features.

Several members in the community have decided to make a new fork at devise-security in order to have a mainline branch where this work can be contributed.

Is there interest in getting some/all of the modules in this gem merged into Devise itself?

@rafaelfranca
Copy link
Collaborator

I don't think so.

Merging this means that we will have to maintain and, while I like to maintain code, I prefer to keep the scope of the things I maintain really small. Because of that, through the years, we have being polishing the scope of Devise to be only essential features and merging those extensions into the gem is going against this goal.

Other maintainers may have different opinion than mine so I'll keep this open to get their feedback too.

@natebird
Copy link

I would also like to see this merged into the main Devise repository but I also understand the goal of keeping the project scope small.

@danielricecodes
Copy link

Perhaps instead of merging the two together, the Devise Wiki or README's can be updated to reference the devise-security repository instead? Part of the problem is letting people know that there is a collection of useful modules over here.

@tegon
Copy link
Member

tegon commented Nov 30, 2017

I agree that it's better to keep things separated.
A Wiki page sounds like a good idea, if anyone would be up to writing, we'd appreciate it. 😄
@feliperenan WDYT? Can we close this one?

@tegon tegon closed this as completed Dec 6, 2017
@monfresh
Copy link

I've worked on some projects where some of those modules were required, but I have since learned that most of them are in fact anti-patterns. The latest NIST guidelines specifically say that you should NOT do the following:

  • expire passwords
  • prevent people from reusing passwords
  • have complicated character requirements for passwords (it's better to enforce a minimum length and use something like zxcvbn and other dictionaries to enforce strength). Here is the rationale: https://pages.nist.gov/800-63-3/sp800-63b.html#appA
  • don't prompt for questions like "what was the name of your first pet?"

@helmutrs
Copy link

helmutrs commented Oct 16, 2018

I'd like to add about NIST Guidelines:

  • Hash with HMAC
  • PBKDF2 over bcrypt with at least some 'k' iterations.
  • The reason for PBKDF2 because it is based on hashing primitives that satisfy many national and international standards.
    Maybe something that we need to look on the future?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

7 participants