restful_api_authentication 0.2.0 → 0.2.1
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.
- data/CHANGELOG.md +1 -1
- data/README.md +8 -0
- data/lib/restful_api_authentication/railtie.rb +11 -6
- data/lib/restful_api_authentication/version.rb +1 -1
- metadata +8 -8
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## Version 0.2.0
|
4
4
|
|
5
|
-
* Added verbose error messaging; if this is enabled in the YML config file, then the response to an authentication failure will be more descriptive as to why the authentication failed.
|
5
|
+
* Added verbose error messaging; if this is enabled in the YML config file, then the response to an authentication failure will be more descriptive as to why the authentication failed. To enable, add `verbose_errors: true` to the `config/restful_api_authentication.yml`.
|
6
6
|
|
7
7
|
## Version 0.1.2
|
8
8
|
|
data/README.md
CHANGED
@@ -100,6 +100,14 @@ puts result.inspect
|
|
100
100
|
|
101
101
|
In the `config/restful_api_authentication.yml` file you will find several things that you can change. The defaults are usually fine for most cases.
|
102
102
|
|
103
|
+
#### Verbose Error Messages (>= 0.2.0)
|
104
|
+
|
105
|
+
By default, the standard response to any authentication error is "not authorized". However, more meaningful explanations of why authentication is failing can be sent by adding the following to the `config/restful_api_authentication.yml` file:
|
106
|
+
|
107
|
+
```
|
108
|
+
verbose_errors: true
|
109
|
+
```
|
110
|
+
|
103
111
|
### Requiring Authentication
|
104
112
|
|
105
113
|
To require authentication for a specific resource (controller) of your RESTful web service, add this at the top of your controller just under where you open the controller class:
|
@@ -30,12 +30,17 @@ module RestfulApiAuthentication
|
|
30
30
|
RestfulApiAuthentication::Checker.header_api_key = 'x-api-key'
|
31
31
|
RestfulApiAuthentication::Checker.verbose_errors = false
|
32
32
|
if File.exists? Rails.root.join('config', 'restful_api_authentication.yml')
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
begin
|
34
|
+
config_data = YAML::load_file(Rails.root.join('config', 'restful_api_authentication.yml'))[Rails.env]
|
35
|
+
RestfulApiAuthentication::Checker.time_window = config_data['request_window'].to_i unless config_data['request_window'].nil?
|
36
|
+
RestfulApiAuthentication::Checker.header_timestamp = config_data['header_names']['timestamp'] unless config_data['header_names'].nil? or config_data['header_names']['timestamp'].nil?
|
37
|
+
RestfulApiAuthentication::Checker.header_signature = config_data['header_names']['signature'] unless config_data['header_names'].nil? or config_data['header_names']['signature'].nil?
|
38
|
+
RestfulApiAuthentication::Checker.header_api_key = config_data['header_names']['api_key'] unless config_data['header_names'].nil? or config_data['header_names']['api_key'].nil?
|
39
|
+
RestfulApiAuthentication::Checker.verbose_errors = config_data['verbose_errors'] unless config_data['verbose_errors'].nil?
|
40
|
+
rescue Exception => e
|
41
|
+
# do nothing here -- we already have set the defaults
|
42
|
+
Rails.logger.debug e.message
|
43
|
+
end
|
39
44
|
end
|
40
45
|
end
|
41
46
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restful_api_authentication
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70131007101400 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70131007101400
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: uuid
|
27
|
-
requirement: &
|
27
|
+
requirement: &70131007100900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.3.5
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70131007100900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: chronic
|
38
|
-
requirement: &
|
38
|
+
requirement: &70131007100420 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 0.6.7
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70131007100420
|
47
47
|
description: A gem which implements a standard api_key / secret authentication system
|
48
48
|
for your Ruby on Rails RESTful web services.
|
49
49
|
email:
|