rodauth 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG +3 -0
- data/MIT-LICENSE +18 -0
- data/README.rdoc +484 -0
- data/Rakefile +91 -0
- data/lib/roda/plugins/rodauth.rb +265 -0
- data/lib/roda/plugins/rodauth/base.rb +428 -0
- data/lib/roda/plugins/rodauth/change_login.rb +48 -0
- data/lib/roda/plugins/rodauth/change_password.rb +42 -0
- data/lib/roda/plugins/rodauth/close_account.rb +42 -0
- data/lib/roda/plugins/rodauth/create_account.rb +92 -0
- data/lib/roda/plugins/rodauth/lockout.rb +292 -0
- data/lib/roda/plugins/rodauth/login.rb +77 -0
- data/lib/roda/plugins/rodauth/logout.rb +36 -0
- data/lib/roda/plugins/rodauth/remember.rb +226 -0
- data/lib/roda/plugins/rodauth/reset_password.rb +205 -0
- data/lib/roda/plugins/rodauth/verify_account.rb +228 -0
- data/spec/migrate/001_tables.rb +64 -0
- data/spec/migrate_password/001_tables.rb +38 -0
- data/spec/rodauth_spec.rb +1114 -0
- data/spec/views/layout.str +11 -0
- data/spec/views/login.str +21 -0
- data/templates/change-login.str +22 -0
- data/templates/change-password.str +21 -0
- data/templates/close-account.str +9 -0
- data/templates/confirm-password.str +16 -0
- data/templates/create-account.str +33 -0
- data/templates/login.str +25 -0
- data/templates/logout.str +9 -0
- data/templates/remember.str +28 -0
- data/templates/reset-password-email.str +5 -0
- data/templates/reset-password-request.str +7 -0
- data/templates/reset-password.str +23 -0
- data/templates/unlock-account-email.str +5 -0
- data/templates/unlock-account-request.str +11 -0
- data/templates/unlock-account.str +11 -0
- data/templates/verify-account-email.str +4 -0
- data/templates/verify-account-resend.str +7 -0
- data/templates/verify-account.str +11 -0
- metadata +227 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
<form method="post" class="form-horizontal" role="form" id="login-form">
|
2
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
3
|
+
<input type="hidden" name="lp" value="#{request['lp']}"/>
|
4
|
+
<div class="form-group">
|
5
|
+
<label class="col-sm-2 control-label" for="login">Login</label>
|
6
|
+
<div class="col-sm-10">
|
7
|
+
<input type="text" class="form-control#{' error' if @login_error}" name="l" id="login"/> #{@login_error}
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="form-group">
|
11
|
+
<label class="col-sm-2 control-label" for="password">Password</label>
|
12
|
+
<div class="col-sm-10">
|
13
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="p" id="password"/> #{@password_error}
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="form-group">
|
17
|
+
<div class="col-sm-offset-2 col-sm-10">
|
18
|
+
<input type="submit" class="btn btn-default" value="Login"/>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</form>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="change-login-form">
|
2
|
+
#{rodauth.change_login_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="form-group">
|
5
|
+
<label class="col-sm-2 control-label" for="login">#{rodauth.login_label}</label>
|
6
|
+
<div class="col-sm-10">
|
7
|
+
<input type="text" class="form-control#{' error' if @login_error}" name="#{rodauth.login_param}" id="login" value="#{h request[rodauth.login_param]}"/> #{@login_error}
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="form-group">
|
11
|
+
<label class="col-sm-2 control-label" for="login-confirm">#{rodauth.login_confirm_label}</label>
|
12
|
+
<div class="col-sm-10">
|
13
|
+
<input type="text" class="form-control" name="#{rodauth.login_confirm_param}" id="login-confirm" value="#{h request[rodauth.login_confirm_param]}"/>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="form-group">
|
17
|
+
<div class="col-sm-offset-2 col-sm-10">
|
18
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.change_login_button}"/>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</form>
|
22
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="change-password-form">
|
2
|
+
#{rodauth.change_password_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="form-group">
|
5
|
+
<label class="col-sm-2 control-label" for="password">#{rodauth.password_label}</label>
|
6
|
+
<div class="col-sm-10">
|
7
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="#{rodauth.password_param}" id="password"/> #{@password_error}
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="form-group">
|
11
|
+
<label class="col-sm-2 control-label" for="password-confirm">#{rodauth.password_confirm_label}</label>
|
12
|
+
<div class="col-sm-10">
|
13
|
+
<input type="password" class="form-control" name="#{rodauth.password_confirm_param}" id="password-confirm"/>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="form-group">
|
17
|
+
<div class="col-sm-offset-2 col-sm-10">
|
18
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.change_password_button}"/>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</form>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="close-account-form">
|
2
|
+
#{rodauth.close_account_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="form-group">
|
5
|
+
<div class="col-sm-offset-2 col-sm-10">
|
6
|
+
<input type="submit" class="btn btn-warning" value="#{rodauth.close_account_button}"/>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
</form>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="confirm-password-form">
|
2
|
+
#{rodauth.remember_confirm_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<input type="hidden" name="confirm" value="t" />
|
5
|
+
<div class="form-group">
|
6
|
+
<label class="col-sm-2 control-label" for="password">#{rodauth.password_label}</label>
|
7
|
+
<div class="col-sm-10">
|
8
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="#{rodauth.password_param}" id="password"/> #{@password_error}
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
<div class="form-group">
|
12
|
+
<div class="col-sm-offset-2 col-sm-10">
|
13
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.remember_confirm_button}"/>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</form>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="create-account-form">
|
2
|
+
#{rodauth.create_account_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="form-group">
|
5
|
+
<label class="col-sm-2 control-label" for="login">#{rodauth.login_label}</label>
|
6
|
+
<div class="col-sm-10">
|
7
|
+
<input type="text" class="form-control#{' error' if @login_error}" name="#{rodauth.login_param}" id="login" value="#{h request[rodauth.login_param]}"/> #{@login_error}
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<div class="form-group">
|
11
|
+
<label class="col-sm-2 control-label" for="login-confirm">#{rodauth.login_confirm_label}</label>
|
12
|
+
<div class="col-sm-10">
|
13
|
+
<input type="text" class="form-control" name="login-confirm" id="#{rodauth.login_confirm_param}" value="#{h request[rodauth.login_confirm_param]}"/>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="form-group">
|
17
|
+
<label class="col-sm-2 control-label" for="password">#{rodauth.password_label}</label>
|
18
|
+
<div class="col-sm-10">
|
19
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="#{rodauth.password_param}" id="password"/> #{@password_error}
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="form-group">
|
23
|
+
<label class="col-sm-2 control-label" for="password-confirm">#{rodauth.password_confirm_label}</label>
|
24
|
+
<div class="col-sm-10">
|
25
|
+
<input type="password" class="form-control" name="#{rodauth.password_confirm_param}" id="password-confirm"/>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="form-group">
|
29
|
+
<div class="col-sm-offset-2 col-sm-10">
|
30
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.create_account_button}"/>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</form>
|
data/templates/login.str
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#{@login_form_header}
|
2
|
+
|
3
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="login-form">
|
4
|
+
#{rodauth.login_additional_form_tags}
|
5
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
6
|
+
<div class="form-group">
|
7
|
+
<label class="col-sm-2 control-label" for="login">#{rodauth.login_label}</label>
|
8
|
+
<div class="col-sm-10">
|
9
|
+
<input type="text" class="form-control#{' error' if @login_error}" name="#{rodauth.login_param}" id="login" value="#{h request[rodauth.login_param]}"/> #{@login_error}
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<div class="form-group">
|
13
|
+
<label class="col-sm-2 control-label" for="password">#{rodauth.password_label}</label>
|
14
|
+
<div class="col-sm-10">
|
15
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="#{rodauth.password_param}" id="password"/> #{@password_error}
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div class="form-group">
|
19
|
+
<div class="col-sm-offset-2 col-sm-10">
|
20
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.login_button}"/>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</form>
|
24
|
+
|
25
|
+
#{rodauth.login_form_footer}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="logout-form">
|
2
|
+
#{rodauth.logout_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="form-group">
|
5
|
+
<div class="col-sm-offset-2 col-sm-10">
|
6
|
+
<input type="submit" class="btn btn-warning" value="#{rodauth.logout_button}"/>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
</form>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="remember-form">
|
2
|
+
#{rodauth.remember_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<div class="radio">
|
5
|
+
<label>
|
6
|
+
<input type="radio" name="remember" id="remember_remember" value="remember"/>
|
7
|
+
Remember Me
|
8
|
+
</label>
|
9
|
+
</div>
|
10
|
+
<div class="radio">
|
11
|
+
<label>
|
12
|
+
<input type="radio" name="remember" id="remember_forget" value="forget"/>
|
13
|
+
Forget Me
|
14
|
+
</label>
|
15
|
+
</div>
|
16
|
+
<div class="radio">
|
17
|
+
<label>
|
18
|
+
<input type="radio" name="remember" id="remember_disable" value="disable"/>
|
19
|
+
Disable Remember Me
|
20
|
+
</label>
|
21
|
+
</div>
|
22
|
+
<div class="form-group">
|
23
|
+
<div class="col-sm-offset-2 col-sm-10">
|
24
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.remember_button}"/>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</form>
|
28
|
+
|
@@ -0,0 +1,5 @@
|
|
1
|
+
Someone has requested a password reset for the account with this email
|
2
|
+
address. If you did not request a password reset, please ignore this
|
3
|
+
message. If you requested a password reset, please go to
|
4
|
+
#{rodauth.reset_password_email_link}
|
5
|
+
to reset the password for the account.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<form action="#{rodauth.prefix}/#{rodauth.reset_password_route}" method="post" class="rodauth form-horizontal" role="form" id="reset-password-request-form">
|
2
|
+
#{rodauth.reset_password_request_additional_form_tags}
|
3
|
+
<input type="hidden" name="#{rodauth.login_param}" value="#{h request[rodauth.login_param]}"/>
|
4
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
5
|
+
If you have forgotten your password, you can request a password reset:
|
6
|
+
<input type="submit" class="btn btn-primary inline" value="#{rodauth.reset_password_request_button}"/>
|
7
|
+
</form>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="reset-password-form">
|
2
|
+
#{rodauth.reset_password_additional_form_tags}
|
3
|
+
<input type="hidden" name="#{rodauth.reset_password_key_param}" value="#{h request[rodauth.reset_password_key_param]}" />
|
4
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
5
|
+
<div class="form-group">
|
6
|
+
<label class="col-sm-2 control-label" for="password">#{rodauth.password_label}</label>
|
7
|
+
<div class="col-sm-10">
|
8
|
+
<input type="password" class="form-control#{' error' if @password_error}" name="#{rodauth.password_param}" id="password"/> #{@password_error}
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
<div class="form-group">
|
12
|
+
<label class="col-sm-2 control-label" for="password-confirm">#{rodauth.password_confirm_label}</label>
|
13
|
+
<div class="col-sm-10">
|
14
|
+
<input type="password" class="form-control" name="#{rodauth.password_confirm_param}" id="password-confirm"/>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
<div class="form-group">
|
18
|
+
<div class="col-sm-offset-2 col-sm-10">
|
19
|
+
<input type="submit" class="btn btn-primary" value="#{rodauth.reset_password_button}"/>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</form>
|
23
|
+
|
@@ -0,0 +1,5 @@
|
|
1
|
+
Someone has requested a that the account with this email be unlocked.
|
2
|
+
If you did not request the unlocking of this account, please ignore this
|
3
|
+
message. If you requested the unlocking of this account, please go to
|
4
|
+
#{rodauth.unlock_account_email_link}
|
5
|
+
to unlock this account.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<form action="#{rodauth.prefix}/#{rodauth.unlock_account_route}" method="post" class="rodauth form-horizontal" role="form" id="unlock-account-request-form">
|
2
|
+
#{rodauth.unlock_account_request_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<input type="hidden" name="#{rodauth.login_param}" value="#{h request[rodauth.login_param]}"/>
|
5
|
+
This account is currently locked out. You can request that the account be unlocked:
|
6
|
+
<div class="form-group">
|
7
|
+
<div class="col-sm-offset-2 col-sm-10">
|
8
|
+
<input type="submit" class="btn btn-warning" value="#{rodauth.unlock_account_request_button}"/>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</form>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="unlock-account-form">
|
2
|
+
#{rodauth.unlock_account_additional_form_tags}
|
3
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
4
|
+
<input type="hidden" name="#{rodauth.unlock_account_key_param}" value="#{h request[rodauth.unlock_account_key_param]}"/>
|
5
|
+
This account is currently locked out. You can unlock the account:
|
6
|
+
<div class="form-group">
|
7
|
+
<div class="col-sm-offset-2 col-sm-10">
|
8
|
+
<input type="submit" class="btn btn-warning" value="#{rodauth.unlock_account_button}"/>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</form>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<form action="#{rodauth.prefix}/#{rodauth.verify_account_route}" method="post" class="rodauth form-horizontal" role="form" id="verify-account-resend-form">
|
2
|
+
#{rodauth.verify_account_resend_additional_form_tags}
|
3
|
+
<input type="hidden" name="#{rodauth.login_param}" value="#{h request[rodauth.login_param]}"/>
|
4
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
5
|
+
If you no longer have the email to verify the account, you can request that it be resent to you:
|
6
|
+
<input type="submit" class="btn btn-primary inline" value="#{rodauth.verify_account_resend_button}"/>
|
7
|
+
</form>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<form method="post" class="rodauth form-horizontal" role="form" id="verify-account-form">
|
2
|
+
#{rodauth.verify_account_additional_form_tags}
|
3
|
+
<input type="hidden" name="#{rodauth.verify_account_key_param}" value="#{h request[rodauth.verify_account_key_param]}" />
|
4
|
+
#{csrf_tag if respond_to?(:csrf_tag)}
|
5
|
+
<div class="form-group">
|
6
|
+
<div class="col-sm-offset-2 col-sm-10">
|
7
|
+
<input type="submit" class="btn btn-warning" value="#{rodauth.verify_account_button}"/>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
</form>
|
11
|
+
|
metadata
ADDED
@@ -0,0 +1,227 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rodauth
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jeremy Evans
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sequel
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: roda
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: tilt
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack_csrf
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bcrypt
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: mail
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 5.0.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 5.0.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: minitest-hooks
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.1.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.1.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: capybara
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.1.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.1.0
|
139
|
+
description: |
|
140
|
+
Rodauth is an authentication framework using Roda, Sequel, and PostgreSQL.
|
141
|
+
It aims to provide strong security for password storage by utilizing
|
142
|
+
separate PostgreSQL database accounts. Configuration is done via
|
143
|
+
a DSL that makes it easy to override any part of the authentication
|
144
|
+
process.
|
145
|
+
|
146
|
+
Rodauth currently supports the following authentication-related
|
147
|
+
features: login, logout, change password, change login, reset
|
148
|
+
password, create account, close account, verify account, remember,
|
149
|
+
and lockout.
|
150
|
+
email: code@jeremyevans.net
|
151
|
+
executables: []
|
152
|
+
extensions: []
|
153
|
+
extra_rdoc_files:
|
154
|
+
- README.rdoc
|
155
|
+
- CHANGELOG
|
156
|
+
- MIT-LICENSE
|
157
|
+
files:
|
158
|
+
- CHANGELOG
|
159
|
+
- MIT-LICENSE
|
160
|
+
- README.rdoc
|
161
|
+
- Rakefile
|
162
|
+
- lib/roda/plugins/rodauth.rb
|
163
|
+
- lib/roda/plugins/rodauth/base.rb
|
164
|
+
- lib/roda/plugins/rodauth/change_login.rb
|
165
|
+
- lib/roda/plugins/rodauth/change_password.rb
|
166
|
+
- lib/roda/plugins/rodauth/close_account.rb
|
167
|
+
- lib/roda/plugins/rodauth/create_account.rb
|
168
|
+
- lib/roda/plugins/rodauth/lockout.rb
|
169
|
+
- lib/roda/plugins/rodauth/login.rb
|
170
|
+
- lib/roda/plugins/rodauth/logout.rb
|
171
|
+
- lib/roda/plugins/rodauth/remember.rb
|
172
|
+
- lib/roda/plugins/rodauth/reset_password.rb
|
173
|
+
- lib/roda/plugins/rodauth/verify_account.rb
|
174
|
+
- spec/migrate/001_tables.rb
|
175
|
+
- spec/migrate_password/001_tables.rb
|
176
|
+
- spec/rodauth_spec.rb
|
177
|
+
- spec/views/layout.str
|
178
|
+
- spec/views/login.str
|
179
|
+
- templates/change-login.str
|
180
|
+
- templates/change-password.str
|
181
|
+
- templates/close-account.str
|
182
|
+
- templates/confirm-password.str
|
183
|
+
- templates/create-account.str
|
184
|
+
- templates/login.str
|
185
|
+
- templates/logout.str
|
186
|
+
- templates/remember.str
|
187
|
+
- templates/reset-password-email.str
|
188
|
+
- templates/reset-password-request.str
|
189
|
+
- templates/reset-password.str
|
190
|
+
- templates/unlock-account-email.str
|
191
|
+
- templates/unlock-account-request.str
|
192
|
+
- templates/unlock-account.str
|
193
|
+
- templates/verify-account-email.str
|
194
|
+
- templates/verify-account-resend.str
|
195
|
+
- templates/verify-account.str
|
196
|
+
homepage: https://github.com/jeremyevans/rodauth
|
197
|
+
licenses:
|
198
|
+
- MIT
|
199
|
+
metadata: {}
|
200
|
+
post_install_message:
|
201
|
+
rdoc_options:
|
202
|
+
- "--quiet"
|
203
|
+
- "--line-numbers"
|
204
|
+
- "--inline-source"
|
205
|
+
- "--title"
|
206
|
+
- 'Rodauth: Authentication Framework for Roda/Sequel/PostgreSQL'
|
207
|
+
- "--main"
|
208
|
+
- README.rdoc
|
209
|
+
require_paths:
|
210
|
+
- lib
|
211
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
requirements: []
|
222
|
+
rubyforge_project:
|
223
|
+
rubygems_version: 2.4.5
|
224
|
+
signing_key:
|
225
|
+
specification_version: 4
|
226
|
+
summary: Authentication Framework for Roda/Sequel/PostgreSQL
|
227
|
+
test_files: []
|