user_management_rails 0.1.4 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +6 -6
- data/app/controllers/user_management_rails/concerns/user_resource.rb +4 -0
- data/lib/generators/templates/controllers/user_management_controller.rb +10 -6
- data/lib/generators/templates/views/{loggedin.html.erb → home.html.erb} +1 -0
- data/lib/generators/templates/views/login.html.erb +4 -10
- data/lib/generators/templates/views/signup.html.erb +18 -33
- data/lib/generators/user_management_rails/install_generator.rb +4 -3
- data/lib/user_management_rails/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2b32d313222d2d7b0e9e957eeb1e60d1880f74c43537508bddb375ae24d73db7
|
4
|
+
data.tar.gz: 9a795605044d0e73b1a569dba6e9eaca01f14477e9d071d98af710b5056c92a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed9c00d68fd9829eaf2b7ff9ca2c1b71362081455a8a0c16a6d71ba314e95a6c88717f174f926e9d88f768a987be2ff12284e263d9491b2e2504bc6d13e98e36
|
7
|
+
data.tar.gz: 84def8bfbeb4238f5ea03f6f16d4afec77c8271ce35483fe9e742a38059078b9736be7bb5f6ae024a2245749d1e78caefe18b105584129b47ae55df6bba6cde7
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ Short description and motivation.
|
|
5
5
|
How to use my plugin.
|
6
6
|
Gem has next methods:
|
7
7
|
`decode_user(jwt)` - expects jwt with user and returns decoded payload(in our case user info).
|
8
|
-
`valid_jwt?(jwt)` - expects jwt and checks if it is valid. Return `true` when it is valid, otherwise returns `false`
|
8
|
+
`valid_jwt?(jwt)` - expects jwt and checks if it is valid. Return `true` when it is valid, otherwise returns `false`
|
9
9
|
|
10
10
|
Gem adds next endpoints to your application:
|
11
11
|
`/logins` which has next methods:
|
@@ -16,7 +16,7 @@ Gem provides current_user_hash method for your controller by adding next line to
|
|
16
16
|
```ruby
|
17
17
|
include UserManagementRails::Concerns::UserResource
|
18
18
|
```
|
19
|
-
It has one optional param `raise_jwt_error` which when true (by default) will rise exception if user jwt has expired.
|
19
|
+
It has one optional param `raise_jwt_error` which when true (by default) will rise exception if user jwt has expired.
|
20
20
|
If you don't want to raise exception then pass `false` and when token is expired then jwt will be deleted for cookies.
|
21
21
|
|
22
22
|
How it works:
|
@@ -50,7 +50,7 @@ Default routes installed:
|
|
50
50
|
$ rake routes
|
51
51
|
Prefix Verb URI Pattern Controller#Action
|
52
52
|
user_management_rails / UserManagementRails::Engine
|
53
|
-
home GET /home(.:format) user_management#
|
53
|
+
home GET /home(.:format) user_management#home
|
54
54
|
login GET /login(.:format) user_management#login
|
55
55
|
root GET / user_management#signup
|
56
56
|
|
@@ -58,9 +58,9 @@ Routes for UserManagementRails::Engine:
|
|
58
58
|
logins POST /logins(.:format) user_management_rails/logins#create
|
59
59
|
```
|
60
60
|
|
61
|
-
## Requirements
|
61
|
+
## Requirements
|
62
62
|
In your routes.rb file you should specify where `/login` endpoint will be mount.
|
63
|
-
Example:
|
63
|
+
Example:
|
64
64
|
```ruby
|
65
65
|
mount UserManagementRails::Engine, at: '/'
|
66
66
|
```
|
@@ -75,7 +75,7 @@ Then gems `/login` endpoint will be mounted on `domain.com/some_path/logins`
|
|
75
75
|
|
76
76
|
## Adding new version of gem to rubygems repository
|
77
77
|
After you made changes and increment version of gem in(/lib/user_management_rails/version.rb)
|
78
|
-
you need to build and push new gem file to rubygems.org:
|
78
|
+
you need to build and push new gem file to rubygems.org:
|
79
79
|
```bash
|
80
80
|
gem build user_management_rails.gemspec
|
81
81
|
gem push user_management_rails-<VERSION_OF_GEM>.gem
|
@@ -2,27 +2,31 @@ class UserManagementController < ApplicationController
|
|
2
2
|
include UserManagementRails::Concerns::UserResource
|
3
3
|
|
4
4
|
def signup
|
5
|
-
if current_user_hash
|
6
|
-
redirect_to action: '
|
5
|
+
if current_user_hash(false)
|
6
|
+
redirect_to action: 'home'
|
7
7
|
else
|
8
8
|
render 'signup'
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
def login
|
13
|
-
if current_user_hash
|
14
|
-
redirect_to action: '
|
13
|
+
if current_user_hash(false)
|
14
|
+
redirect_to action: 'home'
|
15
15
|
else
|
16
16
|
render 'login'
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
21
|
-
if current_user_hash
|
20
|
+
def home
|
21
|
+
if current_user_hash(false)
|
22
22
|
@userinfo = current_user_hash.values_at("phone","email")
|
23
23
|
else
|
24
24
|
redirect_to action: 'login'
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
def logout
|
29
|
+
current_user_logout
|
30
|
+
redirect_to action: 'login'
|
31
|
+
end
|
28
32
|
end
|
@@ -10,26 +10,18 @@
|
|
10
10
|
|
11
11
|
<script type='text/javascript' src="//code.jquery.com/jquery-3.1.1.min.js"></script>
|
12
12
|
|
13
|
-
<script type='text/javascript' src="//cdn.rawgit.com/oauth-io/oauth-js/c5af4519/dist/oauth.js"></script>
|
14
|
-
|
15
13
|
<script type='text/javascript' src="https://s3.amazonaws.com/ringcaptcha-test/widget/jwt-20180328/bundle.js"></script>
|
16
14
|
|
17
|
-
|
18
15
|
<script type='text/javascript'>
|
19
16
|
$(document).ready(function() {
|
20
17
|
$('#widget-point').append(
|
21
18
|
'<div id="xyz" data-widget data-locale="en" data-mode="login" data-type="dual"></div>'
|
22
19
|
);
|
23
|
-
|
24
20
|
$('#xyz').each(function() {
|
25
|
-
// var appKey = "3i8i2ihu7e9u6orapyga";
|
26
|
-
// var userManagementId = '0bb071d01611abdf8e76c3';
|
27
21
|
var appKey = "<%%= UserManagementRails.configuration.ringcaptcha_key %>";
|
28
22
|
var userManagementId = "<%%= UserManagementRails.configuration.um_key %>";
|
29
|
-
var oauthioKey = 'HwAr2OtSxRgEEnO2-JnYjsuA3tc';
|
30
23
|
var settings = $(this).data();
|
31
24
|
// Initialize the SDK
|
32
|
-
//OAuth.initialize(oauthioKey)
|
33
25
|
settings.app = appKey;
|
34
26
|
settings.events = {
|
35
27
|
login: function(event, formValues) {
|
@@ -39,8 +31,10 @@
|
|
39
31
|
const data = dataString ? JSON.parse(dataString) : null;
|
40
32
|
console.log("Login: data:", data);
|
41
33
|
console.log("Login success for:", formValues.login);
|
42
|
-
$.post('/logins',{jwt:formValues['jwt']})
|
43
|
-
|
34
|
+
$.post('/logins',{jwt:formValues['jwt']})
|
35
|
+
.done(function() {
|
36
|
+
window.location.replace('/home');
|
37
|
+
});
|
44
38
|
}
|
45
39
|
};
|
46
40
|
settings.form = [
|
@@ -10,45 +10,30 @@
|
|
10
10
|
|
11
11
|
<script type='text/javascript' src="//code.jquery.com/jquery-3.1.1.min.js"></script>
|
12
12
|
|
13
|
-
<script type='text/javascript' src="//cdn.rawgit.com/oauth-io/oauth-js/c5af4519/dist/oauth.js"></script>
|
14
|
-
|
15
13
|
<script type='text/javascript' src="https://s3.amazonaws.com/ringcaptcha-test/widget/jwt-20180328/bundle.js"></script>
|
16
14
|
|
17
15
|
<script>
|
18
|
-
|
16
|
+
$(document).ready(function() {
|
19
17
|
$('#widget-point').append(
|
20
18
|
'<div id="xyz" data-widget data-locale="en" data-mode="signup" data-type="dual"></div>'
|
21
19
|
);
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
User.signup({
|
40
|
-
email: formValues.email,
|
41
|
-
password: "Freef0rall!",
|
42
|
-
firstname: "Fname",
|
43
|
-
lastname: "Lname",
|
44
|
-
phone: formValues.phone
|
45
|
-
}).done(function(user) {
|
46
|
-
console.log("User.signup success for:", formValues.email);
|
47
|
-
$.post('/logins',{jwt:formValues['jwt']});
|
48
|
-
window.location.replace('/home');
|
49
|
-
});
|
50
|
-
}
|
51
|
-
};
|
20
|
+
$('#xyz').each(function() {
|
21
|
+
var appKey = "<%%= UserManagementRails.configuration.ringcaptcha_key %>";
|
22
|
+
var userManagementId = "<%%= UserManagementRails.configuration.um_key %>";
|
23
|
+
var settings = $(this).data();
|
24
|
+
// Initialize the SDK
|
25
|
+
settings.app = appKey;
|
26
|
+
settings.events = {
|
27
|
+
signup: function(event, formValues) {
|
28
|
+
console.log("Signup: event:", event);
|
29
|
+
console.log("Signup: formValues:", formValues);
|
30
|
+
const dataString = localStorage.getItem('ringcaptcha.widget.' + appKey);
|
31
|
+
const data = dataString ? JSON.parse(dataString) : null;
|
32
|
+
console.log("Signup: data:", data);
|
33
|
+
console.log("User.signup success for:", formValues.email);
|
34
|
+
window.location.replace('/home');
|
35
|
+
}
|
36
|
+
};
|
52
37
|
settings.form = [
|
53
38
|
{
|
54
39
|
id: 'email',
|
@@ -47,14 +47,15 @@ module UserManagementRails
|
|
47
47
|
"app/views/user_management/signup.html.erb"
|
48
48
|
template "views/login.html.erb",
|
49
49
|
"app/views/user_management/login.html.erb"
|
50
|
-
template "views/
|
51
|
-
"app/views/user_management/
|
50
|
+
template "views/home.html.erb",
|
51
|
+
"app/views/user_management/home.html.erb"
|
52
52
|
end
|
53
53
|
|
54
54
|
def add_routes
|
55
55
|
route "root 'user_management#signup'"
|
56
|
+
route "post '/logout', to: 'user_management#logout'"
|
56
57
|
route "get '/login', to: 'user_management#login'"
|
57
|
-
route "get '/home', to: 'user_management#
|
58
|
+
route "get '/home', to: 'user_management#home'"
|
58
59
|
route "mount UserManagementRails::Engine, at: '/'"
|
59
60
|
end
|
60
61
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: user_management_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RingCaptcha
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -208,7 +208,7 @@ files:
|
|
208
208
|
- lib/generators/templates/README
|
209
209
|
- lib/generators/templates/controllers/user_management_controller.rb
|
210
210
|
- lib/generators/templates/user_management_initializer.rb
|
211
|
-
- lib/generators/templates/views/
|
211
|
+
- lib/generators/templates/views/home.html.erb
|
212
212
|
- lib/generators/templates/views/login.html.erb
|
213
213
|
- lib/generators/templates/views/signup.html.erb
|
214
214
|
- lib/generators/user_management_rails/install_generator.rb
|
@@ -236,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
236
|
version: '0'
|
237
237
|
requirements: []
|
238
238
|
rubyforge_project:
|
239
|
-
rubygems_version: 2.
|
239
|
+
rubygems_version: 2.7.4
|
240
240
|
signing_key:
|
241
241
|
specification_version: 4
|
242
242
|
summary: RingCaptcha widget RoR helper.
|