model_token_auth 1.1.1 → 1.1.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5db811590f96edd70be9dd6a69de23417df28b1f0bd462329730425224538866
|
4
|
+
data.tar.gz: 89dd8598f5366e651ff3a05faa776021e6fcb9500ee6f6a21ce7e6635a11f4cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfa3c52bd3765557b37aa4e4317792e6e9c6c6cce5f5b6520f38f272379dc8ff3cd3dde2c3b5e369d0c54e9e186a0eaf264a21f1ba6eac75348f0a5605c18757
|
7
|
+
data.tar.gz: ce058c13cf9204bcf68d5f2d9136265464db6c56c1c3a0fcae4daba832ed1f549b1b5c337fbbcb4ff210d3bb079bb6493dc6efa23df89d789f147fc7dcb2ab7b
|
data/README.md
CHANGED
@@ -36,14 +36,15 @@ Once the migration finishes, the models will be ready to be authenticated.
|
|
36
36
|
|
37
37
|
This plugin handles Token authentication for models. In models in which
|
38
38
|
`#acts_as_model_authenticable` method is called, the instances will be able generating
|
39
|
-
a token by calling the methods `#save`, `#create` and `#create!`of ActiveRecord
|
40
|
-
token is generated in an associated model called AccessToken
|
39
|
+
a token by calling the methods `#save`, `#create` and `#create!`of `ActiveRecord::Base`.
|
40
|
+
The token is generated in an associated model called `AccessToken`.
|
41
41
|
|
42
42
|
The plugin also handles authentication in the controllers by inserting a generic
|
43
|
-
`#authenticate!` method
|
44
|
-
will verify the existence of the token and
|
43
|
+
`#authenticate!` method when calling the callback `acts_as_controller_authenticable` in
|
44
|
+
ApplicationController. This method will verify the existence of the token and
|
45
|
+
creates the `current_*` method.
|
45
46
|
|
46
|
-
To authenticate some token
|
47
|
+
To authenticate some token the request will need the standard header `Authorization`
|
47
48
|
with a token as a value.
|
48
49
|
|
49
50
|
### Models
|
@@ -51,8 +52,6 @@ with a token as a value.
|
|
51
52
|
Make models authenticatables.
|
52
53
|
|
53
54
|
```ruby
|
54
|
-
# example
|
55
|
-
|
56
55
|
class Center < ActiveRecord::Base
|
57
56
|
acts_as_model_authenticable
|
58
57
|
end
|
@@ -78,11 +77,9 @@ center.access_token
|
|
78
77
|
|
79
78
|
### Controllers
|
80
79
|
|
81
|
-
Allow controllers to handle token authentication
|
80
|
+
Allow controllers to handle token authentication.
|
82
81
|
|
83
82
|
```ruby
|
84
|
-
# example ActionController::Base
|
85
|
-
|
86
83
|
class ApplicationController < ActionController::Base
|
87
84
|
acts_as_controller_authenticable
|
88
85
|
end
|
@@ -122,14 +119,14 @@ end
|
|
122
119
|
|
123
120
|
To facilitate the testing of the controllers:
|
124
121
|
|
125
|
-
1.- Add a new folder with the name of
|
122
|
+
1.- Add a new folder with the name of `support` in the root of `spec`.
|
126
123
|
|
127
|
-
2.- Create a ruby file with the name of model_token_auth_helper (
|
124
|
+
2.- Create a ruby file with the name of model_token_auth_helper (`model_token_auth_helper.rb`).
|
128
125
|
|
129
126
|
3.- Copy the following code:
|
130
127
|
|
131
128
|
```ruby
|
132
|
-
#
|
129
|
+
# model_token_auth_helper.rb
|
133
130
|
|
134
131
|
module ModelTokenAuthHelper
|
135
132
|
|
@@ -145,18 +142,17 @@ module ModelTokenAuthHelper
|
|
145
142
|
# value of the token that is passed to it,
|
146
143
|
# giving it the necessary format.
|
147
144
|
#
|
148
|
-
def add_authorization_header(
|
149
|
-
request.env['HTTP_AUTHORIZATION'] =
|
150
|
-
ActionController::HttpAuthentication::Token.encode_credentials(token)
|
145
|
+
def add_authorization_header(access_token)
|
146
|
+
subject.request.env['HTTP_AUTHORIZATION'] =
|
147
|
+
ActionController::HttpAuthentication::Token.encode_credentials(access_token.token)
|
151
148
|
end
|
152
149
|
end
|
153
150
|
```
|
154
151
|
|
155
|
-
4.- Require ModelTokenAuthHelper at top of the file
|
156
|
-
the RSpec configuration:
|
152
|
+
4.- Require `ModelTokenAuthHelper` at the top of the file `spec_helper.rb` and add the module to the RSpec configuration:
|
157
153
|
|
158
154
|
```ruby
|
159
|
-
#
|
155
|
+
# spec_helper.rb
|
160
156
|
|
161
157
|
require_relative 'support/model_token_auth_helper'
|
162
158
|
|
@@ -170,7 +166,7 @@ end
|
|
170
166
|
|
171
167
|
### ModelTokenAuthHelper Usage
|
172
168
|
|
173
|
-
Here is described how to use the methods of the ModelTokenAuthHelper module that we created
|
169
|
+
Here is described how to use the methods of the ModelTokenAuthHelper module that we created.
|
174
170
|
|
175
171
|
```ruby
|
176
172
|
require 'rails_helper'
|
@@ -222,11 +218,11 @@ Bug report or pull request are welcome.
|
|
222
218
|
|
223
219
|
Make a pull request:
|
224
220
|
|
225
|
-
-
|
226
|
-
- Create your feature branch
|
227
|
-
- Commit your changes
|
228
|
-
- Push
|
229
|
-
- Create new Pull
|
221
|
+
- Clone the repo
|
222
|
+
- Create your feature branch
|
223
|
+
- Commit your changes
|
224
|
+
- Push the branch
|
225
|
+
- Create new Pull-Request
|
230
226
|
|
231
227
|
Please write tests if necessary.
|
232
228
|
|
data/lib/model_token_auth.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "model_token_auth/railtie"
|
2
2
|
require 'model_token_auth/access_tokens_config'
|
3
3
|
require 'model_token_auth/acts_as_model_authenticable'
|
4
|
-
require 'model_token_auth/
|
4
|
+
require 'model_token_auth/acts_as_controller_authenticable'
|
5
5
|
|
6
6
|
# => Class associated with the models
|
7
7
|
# that will be authenticated.
|
@@ -15,9 +15,7 @@ class AccessToken < ActiveRecord::Base
|
|
15
15
|
end
|
16
16
|
|
17
17
|
# => *
|
18
|
-
|
18
|
+
include ModelTokenAuth::ActsAsControllerAuthenticable
|
19
19
|
|
20
20
|
# => *
|
21
|
-
|
22
|
-
resource.include ModelTokenAuth::ActsAsControllersAuthenticable
|
23
|
-
end
|
21
|
+
ActiveRecord::Base.include ModelTokenAuth::ActsAsModelAuthenticable
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: model_token_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Armando Alejandre
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -138,7 +138,7 @@ files:
|
|
138
138
|
- lib/generators/access_token/templates/migration.rb
|
139
139
|
- lib/model_token_auth.rb
|
140
140
|
- lib/model_token_auth/access_tokens_config.rb
|
141
|
-
- lib/model_token_auth/
|
141
|
+
- lib/model_token_auth/acts_as_controller_authenticable.rb
|
142
142
|
- lib/model_token_auth/acts_as_model_authenticable.rb
|
143
143
|
- lib/model_token_auth/controllers_auth.rb
|
144
144
|
- lib/model_token_auth/railtie.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'model_token_auth/controllers_auth'
|
2
|
-
|
3
|
-
module ModelTokenAuth
|
4
|
-
module ActsAsControllersAuthenticable
|
5
|
-
extend ActiveSupport::Concern
|
6
|
-
|
7
|
-
class_methods do
|
8
|
-
def acts_as_controller_authenticable
|
9
|
-
superclass.include ModelTokenAuth::ControllersAuth
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|