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 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://127.0.0.1:3000/authorizme/login/twitter/callback.json"
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", "~> 3.2.1"
29
- s.add_dependency "rails", "~> 3.2.1"
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
- new_role = Authorizme::UserRole.find(:first)
125
- self.role = new_role if new_role
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
@@ -1,3 +1,3 @@
1
1
  module Authorizme
2
- VERSION = "0.0.1.alpha"
2
+ VERSION = "0.0.2"
3
3
  end
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.1.alpha
5
- prerelease: 6
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-03-13 00:00:00.000000000 Z
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: &70182068448300 !ruby/object:Gem::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: *70182068448300
25
+ version_requirements: *70318637094620
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &70182068447680 !ruby/object:Gem::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: *70182068447680
36
+ version_requirements: *70318637094200
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec-rails
39
- requirement: &70182068447100 !ruby/object:Gem::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: *70182068447100
47
+ version_requirements: *70318637093780
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: webrat
50
- requirement: &70182068446480 !ruby/object:Gem::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: *70182068446480
58
+ version_requirements: *70318637093360
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: capybara
61
- requirement: &70182068445800 !ruby/object:Gem::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: *70182068445800
69
+ version_requirements: *70318637092940
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: factory_girl_rails
72
- requirement: &70182068445160 !ruby/object:Gem::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: *70182068445160
80
+ version_requirements: *70318635117920
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: activesupport
83
- requirement: &70182068444140 !ruby/object:Gem::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: 3.2.1
88
+ version: '0'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70182068444140
91
+ version_requirements: *70318635112960
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rails
94
- requirement: &70182068443420 !ruby/object:Gem::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: 3.2.1
99
+ version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70182068443420
102
+ version_requirements: *70318635111500
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: bcrypt-ruby
105
- requirement: &70182068442940 !ruby/object:Gem::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: *70182068442940
113
+ version_requirements: *70318647421440
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: json
116
- requirement: &70182068442340 !ruby/object:Gem::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: *70182068442340
124
+ version_requirements: *70318647421020
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: twitter_oauth
127
- requirement: &70182068441420 !ruby/object:Gem::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: *70182068441420
135
+ version_requirements: *70318647420600
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: twitter
138
- requirement: &70182068440040 !ruby/object:Gem::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: *70182068440040
146
+ version_requirements: *70318647420180
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: oauth2
149
- requirement: &70182068438440 !ruby/object:Gem::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: *70182068438440
157
+ version_requirements: *70318647419760
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: fbgraph
160
- requirement: &70182068436200 !ruby/object:Gem::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: *70182068436200
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: 1.3.1
238
+ version: '0'
239
239
  requirements: []
240
240
  rubyforge_project: authorizme
241
241
  rubygems_version: 1.8.15