diff options
-rw-r--r-- | app/assets/javascripts/application.js | 2 | ||||
-rw-r--r-- | users/app/assets/javascripts/users.js.coffee | 41 |
2 files changed, 43 insertions, 0 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 9097d83..a0b89db 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -12,4 +12,6 @@ // //= require jquery //= require jquery_ujs +//= require srp +//= require users //= require_tree . diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee new file mode 100644 index 0000000..160a7f0 --- /dev/null +++ b/users/app/assets/javascripts/users.js.coffee @@ -0,0 +1,41 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ +# + +validate_password = (event) -> + + password = $('#srp_password').val() + confirmation = $('#srp_password_confirmation').val() + login = $('#srp_username').val() + + if password != confirmation + alert "Password and Confirmation do not match!" + $('#srp_password').focus() + return false + if password == login + alert "Password and Login may not match!" + $('#srp_password').focus() + return false + if password.length < 8 + alert "Password needs to be at least 8 characters long!" + $('#srp_password').focus() + return false + + return true + + +insert_verifier = (event) -> + # TODO: verify password confimation + srp = new SRP + salt = srp.session.getSalt() + $('#srp_salt').val(salt) + $('#srp_password_verifier').val(srp.session.getV().toString(16)) + # clear the password so we do not submit it + $('#srp_password').val('cleared out - use verifier instead') + $('#srp_password_confirmation').val('using srp - store verifier') + +$(document).ready -> + $('#new_user').submit validate_password + $('#new_user').submit insert_verifier + |