authorizme 0.0.1.alpha → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +11 -0
- data/README.md +8 -0
- data/app/controllers/authorizme/authorizme_controller.rb +5 -6
- data/authorizme.gemspec +2 -2
- data/lib/authorizme/acts_as_authorizme.rb +13 -11
- data/lib/authorizme/for_controllers.rb +8 -0
- data/lib/authorizme/version.rb +1 -1
- metadata +37 -37
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 0.0.2
|
2
|
+
|
3
|
+
### Features & Enhancements
|
4
|
+
|
5
|
+
* Add synchronize to user with another provider
|
6
|
+
* Add synchronize request method which you can override in your controller
|
7
|
+
|
8
|
+
### Bug Fixes
|
9
|
+
|
10
|
+
* Login with facebook and draugiem in development mode problem
|
11
|
+
|
1
12
|
## 0.0.1
|
2
13
|
|
3
14
|
* Initial release
|
data/README.md
CHANGED
@@ -30,8 +30,16 @@ Then migrate your database `rake db:migrate`
|
|
30
30
|
|
31
31
|
### Getting started
|
32
32
|
|
33
|
+
To authorize user with basic authorization, post email and password to `/authorizme/sessions`. (if you have another namespace, use `/{your_namespace}/sessions`)
|
34
|
+
|
35
|
+
To authorize user with providers, use `/authorizme/login/{provider_name}`. Before that you MUST set your api keys and secrets to those providers in `config/initializers`
|
36
|
+
|
37
|
+
To register user with basic authorization you can just save data to your user model and then call `login(user)` from your controller.
|
38
|
+
|
33
39
|
### Advanced usage
|
34
40
|
|
41
|
+
You can implement your own provider. Create controller under model `Authorizme::Login` and extend `AuthorizmeController`. Then you must implement `auth` and `callback` methods, where `auth` is method which redirect user to provider and `callback` get data from provider callback data. Then you must add your provider namespace in authorizme config file in array `providers`.
|
42
|
+
|
35
43
|
## Development
|
36
44
|
|
37
45
|
Questions or problems? Please post them on the [issue tracker](https://github.com/CreativeMobile/authorizme/issues). You can contribute changes by forking the project and submitting a pull request. You can ensure the tests passing by running `bundle` and `rake`.
|
@@ -6,11 +6,7 @@ module Authorizme
|
|
6
6
|
end
|
7
7
|
|
8
8
|
protected
|
9
|
-
|
10
|
-
def login user
|
11
|
-
session[:user_id] = user.id
|
12
|
-
end
|
13
|
-
|
9
|
+
|
14
10
|
def logout
|
15
11
|
session[:user_id] = nil
|
16
12
|
if Authorizme::remote
|
@@ -28,10 +24,13 @@ module Authorizme
|
|
28
24
|
|
29
25
|
def redirect_uri provider
|
30
26
|
if Rails.env.development?
|
31
|
-
redirect_url = "http://
|
27
|
+
redirect_url = "http://localhost:3000/authorizme/login/#{provider}/callback.json"
|
32
28
|
else
|
33
29
|
"http://#{request.host}/#{Authorizme::namespace}/login/#{provider}/callback"
|
34
30
|
end
|
35
31
|
end
|
32
|
+
|
33
|
+
def request_synchronize user
|
34
|
+
end
|
36
35
|
end
|
37
36
|
end
|
data/authorizme.gemspec
CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_development_dependency 'capybara'
|
26
26
|
s.add_development_dependency 'factory_girl_rails'
|
27
27
|
|
28
|
-
s.add_dependency "activesupport"
|
29
|
-
s.add_dependency "rails"
|
28
|
+
s.add_dependency "activesupport"
|
29
|
+
s.add_dependency "rails"
|
30
30
|
s.add_dependency "bcrypt-ruby"
|
31
31
|
s.add_dependency "json"
|
32
32
|
s.add_dependency "twitter_oauth"
|
@@ -43,14 +43,6 @@ module Authorizme
|
|
43
43
|
super
|
44
44
|
end
|
45
45
|
end
|
46
|
-
|
47
|
-
#def respond_to?(meth)
|
48
|
-
# if meth.to_s =~ /^authenticate_with_.*$/
|
49
|
-
# true
|
50
|
-
# else
|
51
|
-
# super
|
52
|
-
# end
|
53
|
-
#end
|
54
46
|
|
55
47
|
protected
|
56
48
|
|
@@ -118,11 +110,21 @@ module Authorizme
|
|
118
110
|
!self.has_provider
|
119
111
|
end
|
120
112
|
|
113
|
+
def synchronize other_user
|
114
|
+
other_user.providers.each do |other_provider|
|
115
|
+
other_provider.update_attributes({user: self})
|
116
|
+
end
|
117
|
+
on_synchronized other_user
|
118
|
+
end
|
119
|
+
|
121
120
|
private
|
122
|
-
|
121
|
+
|
122
|
+
def on_synchronize old_user
|
123
|
+
end
|
124
|
+
|
123
125
|
def set_default_role
|
124
|
-
|
125
|
-
|
126
|
+
new_role = Authorizme::UserRole.find(:first)
|
127
|
+
self.role = new_role if new_role
|
126
128
|
end
|
127
129
|
end
|
128
130
|
end
|
@@ -16,6 +16,14 @@ module Authorizme
|
|
16
16
|
@current_user ||= User.find session[:user_id] if session[:user_id]
|
17
17
|
end
|
18
18
|
|
19
|
+
def login user
|
20
|
+
if current_user
|
21
|
+
request_synchronize user
|
22
|
+
else
|
23
|
+
session[:user_id] = user.id
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
19
27
|
def require_user
|
20
28
|
unless current_user
|
21
29
|
if Authorizme::remote
|
data/lib/authorizme/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authorizme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Arturs Braucs
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
17
|
-
requirement: &
|
17
|
+
requirement: &70318637094620 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70318637094620
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rspec
|
28
|
-
requirement: &
|
28
|
+
requirement: &70318637094200 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70318637094200
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec-rails
|
39
|
-
requirement: &
|
39
|
+
requirement: &70318637093780 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70318637093780
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: webrat
|
50
|
-
requirement: &
|
50
|
+
requirement: &70318637093360 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70318637093360
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: capybara
|
61
|
-
requirement: &
|
61
|
+
requirement: &70318637092940 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70318637092940
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: factory_girl_rails
|
72
|
-
requirement: &
|
72
|
+
requirement: &70318635117920 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,32 +77,32 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70318635117920
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: activesupport
|
83
|
-
requirement: &
|
83
|
+
requirement: &70318635112960 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - ! '>='
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
88
|
+
version: '0'
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70318635112960
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: rails
|
94
|
-
requirement: &
|
94
|
+
requirement: &70318635111500 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
|
-
- -
|
97
|
+
- - ! '>='
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
99
|
+
version: '0'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70318635111500
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: bcrypt-ruby
|
105
|
-
requirement: &
|
105
|
+
requirement: &70318647421440 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '0'
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70318647421440
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: json
|
116
|
-
requirement: &
|
116
|
+
requirement: &70318647421020 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70318647421020
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: twitter_oauth
|
127
|
-
requirement: &
|
127
|
+
requirement: &70318647420600 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *70318647420600
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: twitter
|
138
|
-
requirement: &
|
138
|
+
requirement: &70318647420180 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,10 +143,10 @@ dependencies:
|
|
143
143
|
version: '0'
|
144
144
|
type: :runtime
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *70318647420180
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: oauth2
|
149
|
-
requirement: &
|
149
|
+
requirement: &70318647419760 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
152
|
- - ! '>='
|
@@ -154,10 +154,10 @@ dependencies:
|
|
154
154
|
version: '0'
|
155
155
|
type: :runtime
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *70318647419760
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: fbgraph
|
160
|
-
requirement: &
|
160
|
+
requirement: &70318647419340 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ! '>='
|
@@ -165,7 +165,7 @@ dependencies:
|
|
165
165
|
version: '0'
|
166
166
|
type: :runtime
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *70318647419340
|
169
169
|
description: Authorization that includes basic authorization and 3 social authorization
|
170
170
|
with Latvia social network draugiem.lv, facebook.com and twitter.com.
|
171
171
|
email:
|
@@ -233,9 +233,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
233
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
234
|
none: false
|
235
235
|
requirements:
|
236
|
-
- - ! '
|
236
|
+
- - ! '>='
|
237
237
|
- !ruby/object:Gem::Version
|
238
|
-
version:
|
238
|
+
version: '0'
|
239
239
|
requirements: []
|
240
240
|
rubyforge_project: authorizme
|
241
241
|
rubygems_version: 1.8.15
|