angular_rails_csrf 1.0.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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +19 -0
- data/Rakefile +32 -0
- data/lib/angular_rails_csrf.rb +1 -0
- data/lib/angular_rails_csrf/concern.rb +17 -0
- data/lib/angular_rails_csrf/railtie.rb +11 -0
- data/lib/angular_rails_csrf/version.rb +3 -0
- data/test/angular_rails_csrf_test.rb +35 -0
- data/test/dummy/app/controllers/application_controller.rb +6 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +14 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/log/test.log +176 -0
- data/test/test_helper.rb +5 -0
- metadata +103 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d7d66db0ae4313bd633c3eca8e80a4ca04180930
|
4
|
+
data.tar.gz: 56a71c51c6d1f9231f7d5e38639e5f278103bd6a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e4db30cd919b7fe492a363540fa7f40d6f5ac07dfaa17e2ebd9f499651dff5425de3ab2208a8da13941b6a8a7646fe6dcbb83b63aa036ff00968b8b96b19a50a
|
7
|
+
data.tar.gz: b1cf4a627b2c215d97ca7b8b4fdcc6a09e18b1020d236f0c540bde4d27468894f58cf9ede7addf85985dfd8520ae434c7a8e87f320676236a23c6fe7597afb6e
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2013 YOURNAME
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
## AngularJS-style CSRF Protection for Rails
|
2
|
+
|
3
|
+
The AngularJS [ng.$http](http://docs.angularjs.org/api/ng.$http) service has built-in CSRF protection. By default, it looks for a cookie named `XSRF-TOKEN` and, if found, writes its value into an `X-XSRF-TOKEN` header, which the server compares with the CSRF token saved in the user's session.
|
4
|
+
|
5
|
+
This project adds direct support for this scheme to your Rails application without requiring any changes to your AngularJS application. It also doesn't require the use of `csrf_meta_tags` to write a CSRF token into your page markup, so it works for pure JSON API applications.
|
6
|
+
|
7
|
+
Note that there is nothing AngularJS specific here, and this will work with any other front-end that implements the same scheme.
|
8
|
+
|
9
|
+
### Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
gem 'angular_rails_csrf'
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
That's it!
|
data/Rakefile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
begin
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue LoadError
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'rdoc/task'
|
8
|
+
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
11
|
+
rdoc.title = 'AngularRailsCsrf'
|
12
|
+
rdoc.options << '--line-numbers'
|
13
|
+
rdoc.rdoc_files.include('README.rdoc')
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
Bundler::GemHelper.install_tasks
|
21
|
+
|
22
|
+
require 'rake/testtask'
|
23
|
+
|
24
|
+
Rake::TestTask.new(:test) do |t|
|
25
|
+
t.libs << 'lib'
|
26
|
+
t.libs << 'test'
|
27
|
+
t.pattern = 'test/**/*_test.rb'
|
28
|
+
t.verbose = false
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
task default: :test
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'angular_rails_csrf/railtie'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module AngularRailsCsrf
|
2
|
+
module Concern
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
after_action :set_xsrf_token_cookie
|
7
|
+
end
|
8
|
+
|
9
|
+
def set_xsrf_token_cookie
|
10
|
+
cookies['XSRF-TOKEN'] = form_authenticity_token if protect_against_forgery?
|
11
|
+
end
|
12
|
+
|
13
|
+
def verified_request?
|
14
|
+
super || form_authenticity_token == request.headers['X-XSRF-TOKEN']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AngularRailsCsrfTest < ActionController::TestCase
|
4
|
+
tests ApplicationController
|
5
|
+
|
6
|
+
setup do
|
7
|
+
@controller.allow_forgery_protection = true
|
8
|
+
@correct_token = @controller.send(:form_authenticity_token)
|
9
|
+
end
|
10
|
+
|
11
|
+
test "a get sets the XSRF-TOKEN cookie but does not require the X-XSRF-TOKEN header" do
|
12
|
+
get :index
|
13
|
+
assert_equal @correct_token, cookies['XSRF-TOKEN']
|
14
|
+
assert_response :success
|
15
|
+
end
|
16
|
+
|
17
|
+
test "a post raises an error without the X-XSRF-TOKEN header set" do
|
18
|
+
assert_raises ActionController::InvalidAuthenticityToken do
|
19
|
+
post :create
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
test "a post raises an error with the X-XSRF-TOKEN header set to the wrong value" do
|
24
|
+
@request.headers['X-XSRF-TOKEN'] = 'garbage'
|
25
|
+
assert_raises ActionController::InvalidAuthenticityToken do
|
26
|
+
post :create
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
test "a post is accepted if X-XSRF-TOKEN is set properly" do
|
31
|
+
@request.headers['X-XSRF-TOKEN'] = @correct_token
|
32
|
+
post :create
|
33
|
+
assert_response :success
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require "action_controller/railtie"
|
4
|
+
|
5
|
+
Bundler.require(*Rails.groups)
|
6
|
+
require "angular_rails_csrf"
|
7
|
+
|
8
|
+
module Dummy
|
9
|
+
class Application < Rails::Application
|
10
|
+
config.secret_key_base = '5e6b6d2bd7bf26d02679ac958b520adf41b211eb0b8f33742abc5437711d0ad314baf13efc0d35d7568d2e469668a7021cf5e945c667bd16507777aedb770f83'
|
11
|
+
config.eager_load = false # You get yelled at if you don't set this
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
@@ -0,0 +1,176 @@
|
|
1
|
+
--------------------------------------------------------------------------------------------------------
|
2
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
3
|
+
--------------------------------------------------------------------------------------------------------
|
4
|
+
Processing by ApplicationController#index as HTML
|
5
|
+
Completed 200 OK in 0ms
|
6
|
+
-----------------------------------------------------------------------------
|
7
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
8
|
+
-----------------------------------------------------------------------------
|
9
|
+
Processing by ApplicationController#create as HTML
|
10
|
+
Completed 200 OK in 0ms
|
11
|
+
-----------------------------------------------------------------------------------------------------
|
12
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
13
|
+
-----------------------------------------------------------------------------------------------------
|
14
|
+
Processing by ApplicationController#create as HTML
|
15
|
+
Can't verify CSRF token authenticity
|
16
|
+
Completed 422 Unprocessable Entity in 0ms
|
17
|
+
-------------------------------------------------------------------------------------
|
18
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
19
|
+
-------------------------------------------------------------------------------------
|
20
|
+
Processing by ApplicationController#create as HTML
|
21
|
+
Can't verify CSRF token authenticity
|
22
|
+
Completed 422 Unprocessable Entity in 0ms
|
23
|
+
--------------------------------------------------------------------------------------------------------
|
24
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
25
|
+
--------------------------------------------------------------------------------------------------------
|
26
|
+
Processing by ApplicationController#index as HTML
|
27
|
+
Completed 200 OK in 0ms
|
28
|
+
-----------------------------------------------------------------------------
|
29
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
30
|
+
-----------------------------------------------------------------------------
|
31
|
+
Processing by ApplicationController#create as HTML
|
32
|
+
Completed 200 OK in 0ms
|
33
|
+
-----------------------------------------------------------------------------------------------------
|
34
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
35
|
+
-----------------------------------------------------------------------------------------------------
|
36
|
+
Processing by ApplicationController#create as HTML
|
37
|
+
Can't verify CSRF token authenticity
|
38
|
+
Completed 422 Unprocessable Entity in 0ms
|
39
|
+
-------------------------------------------------------------------------------------
|
40
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
41
|
+
-------------------------------------------------------------------------------------
|
42
|
+
Processing by ApplicationController#create as HTML
|
43
|
+
Can't verify CSRF token authenticity
|
44
|
+
Completed 422 Unprocessable Entity in 0ms
|
45
|
+
--------------------------------------------------------------------------------------------------------
|
46
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
47
|
+
--------------------------------------------------------------------------------------------------------
|
48
|
+
Processing by ApplicationController#index as HTML
|
49
|
+
Completed 200 OK in 0ms
|
50
|
+
-----------------------------------------------------------------------------
|
51
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
52
|
+
-----------------------------------------------------------------------------
|
53
|
+
Processing by ApplicationController#create as HTML
|
54
|
+
Completed 200 OK in 0ms
|
55
|
+
-----------------------------------------------------------------------------------------------------
|
56
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
57
|
+
-----------------------------------------------------------------------------------------------------
|
58
|
+
Processing by ApplicationController#create as HTML
|
59
|
+
Can't verify CSRF token authenticity
|
60
|
+
Completed 422 Unprocessable Entity in 0ms
|
61
|
+
-------------------------------------------------------------------------------------
|
62
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
63
|
+
-------------------------------------------------------------------------------------
|
64
|
+
Processing by ApplicationController#create as HTML
|
65
|
+
Can't verify CSRF token authenticity
|
66
|
+
Completed 422 Unprocessable Entity in 0ms
|
67
|
+
--------------------------------------------------------------------------------------------------------
|
68
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
69
|
+
--------------------------------------------------------------------------------------------------------
|
70
|
+
Processing by ApplicationController#index as HTML
|
71
|
+
Completed 200 OK in 0ms
|
72
|
+
-----------------------------------------------------------------------------
|
73
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
74
|
+
-----------------------------------------------------------------------------
|
75
|
+
Processing by ApplicationController#create as HTML
|
76
|
+
Completed 200 OK in 0ms
|
77
|
+
-----------------------------------------------------------------------------------------------------
|
78
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
79
|
+
-----------------------------------------------------------------------------------------------------
|
80
|
+
Processing by ApplicationController#create as HTML
|
81
|
+
Can't verify CSRF token authenticity
|
82
|
+
Completed 422 Unprocessable Entity in 0ms
|
83
|
+
-------------------------------------------------------------------------------------
|
84
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
85
|
+
-------------------------------------------------------------------------------------
|
86
|
+
Processing by ApplicationController#create as HTML
|
87
|
+
Can't verify CSRF token authenticity
|
88
|
+
Completed 422 Unprocessable Entity in 0ms
|
89
|
+
--------------------------------------------------------------------------------------------------------
|
90
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
91
|
+
--------------------------------------------------------------------------------------------------------
|
92
|
+
Processing by ApplicationController#index as HTML
|
93
|
+
Completed 200 OK in 0ms
|
94
|
+
-----------------------------------------------------------------------------
|
95
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
96
|
+
-----------------------------------------------------------------------------
|
97
|
+
Processing by ApplicationController#create as HTML
|
98
|
+
Completed 200 OK in 0ms
|
99
|
+
-----------------------------------------------------------------------------------------------------
|
100
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
101
|
+
-----------------------------------------------------------------------------------------------------
|
102
|
+
Processing by ApplicationController#create as HTML
|
103
|
+
Can't verify CSRF token authenticity
|
104
|
+
Completed 422 Unprocessable Entity in 0ms
|
105
|
+
-------------------------------------------------------------------------------------
|
106
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
107
|
+
-------------------------------------------------------------------------------------
|
108
|
+
Processing by ApplicationController#create as HTML
|
109
|
+
Can't verify CSRF token authenticity
|
110
|
+
Completed 422 Unprocessable Entity in 0ms
|
111
|
+
--------------------------------------------------------------------------------------------------------
|
112
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
113
|
+
--------------------------------------------------------------------------------------------------------
|
114
|
+
Processing by ApplicationController#index as HTML
|
115
|
+
Completed 200 OK in 1ms
|
116
|
+
-----------------------------------------------------------------------------
|
117
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
118
|
+
-----------------------------------------------------------------------------
|
119
|
+
Processing by ApplicationController#create as HTML
|
120
|
+
Completed 200 OK in 0ms
|
121
|
+
-----------------------------------------------------------------------------------------------------
|
122
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
123
|
+
-----------------------------------------------------------------------------------------------------
|
124
|
+
Processing by ApplicationController#create as HTML
|
125
|
+
Can't verify CSRF token authenticity
|
126
|
+
Completed 422 Unprocessable Entity in 0ms
|
127
|
+
-------------------------------------------------------------------------------------
|
128
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
129
|
+
-------------------------------------------------------------------------------------
|
130
|
+
Processing by ApplicationController#create as HTML
|
131
|
+
Can't verify CSRF token authenticity
|
132
|
+
Completed 422 Unprocessable Entity in 0ms
|
133
|
+
--------------------------------------------------------------------------------------------------------
|
134
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
135
|
+
--------------------------------------------------------------------------------------------------------
|
136
|
+
Processing by ApplicationController#index as HTML
|
137
|
+
Completed 200 OK in 0ms
|
138
|
+
-----------------------------------------------------------------------------
|
139
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
140
|
+
-----------------------------------------------------------------------------
|
141
|
+
Processing by ApplicationController#create as HTML
|
142
|
+
Completed 200 OK in 0ms
|
143
|
+
-----------------------------------------------------------------------------------------------------
|
144
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
145
|
+
-----------------------------------------------------------------------------------------------------
|
146
|
+
Processing by ApplicationController#create as HTML
|
147
|
+
Can't verify CSRF token authenticity
|
148
|
+
Completed 422 Unprocessable Entity in 0ms
|
149
|
+
-------------------------------------------------------------------------------------
|
150
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
151
|
+
-------------------------------------------------------------------------------------
|
152
|
+
Processing by ApplicationController#create as HTML
|
153
|
+
Can't verify CSRF token authenticity
|
154
|
+
Completed 422 Unprocessable Entity in 0ms
|
155
|
+
--------------------------------------------------------------------------------------------------------
|
156
|
+
AngularRailsCsrfTest: test_a_get_sets_the_XSRF-TOKEN_cookie_but_does_not_require_the_X-XSRF-TOKEN_header
|
157
|
+
--------------------------------------------------------------------------------------------------------
|
158
|
+
Processing by ApplicationController#index as HTML
|
159
|
+
Completed 200 OK in 0ms
|
160
|
+
-----------------------------------------------------------------------------
|
161
|
+
AngularRailsCsrfTest: test_a_post_is_accepted_if_X-XSRF-TOKEN_is_set_properly
|
162
|
+
-----------------------------------------------------------------------------
|
163
|
+
Processing by ApplicationController#create as HTML
|
164
|
+
Completed 200 OK in 0ms
|
165
|
+
-----------------------------------------------------------------------------------------------------
|
166
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_with_the_X-XSRF-TOKEN_header_set_to_the_wrong_value
|
167
|
+
-----------------------------------------------------------------------------------------------------
|
168
|
+
Processing by ApplicationController#create as HTML
|
169
|
+
Can't verify CSRF token authenticity
|
170
|
+
Completed 422 Unprocessable Entity in 0ms
|
171
|
+
-------------------------------------------------------------------------------------
|
172
|
+
AngularRailsCsrfTest: test_a_post_raises_an_error_without_the_X-XSRF-TOKEN_header_set
|
173
|
+
-------------------------------------------------------------------------------------
|
174
|
+
Processing by ApplicationController#create as HTML
|
175
|
+
Can't verify CSRF token authenticity
|
176
|
+
Completed 422 Unprocessable Entity in 0ms
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: angular_rails_csrf
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Sanders
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-12-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 10.1.0
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 10.1.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3'
|
34
|
+
- - <
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '5'
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3'
|
44
|
+
- - <
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '5'
|
47
|
+
description: AngularJS style CSRF protection for Rails
|
48
|
+
email:
|
49
|
+
- sanderjd@gmail.com
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- lib/angular_rails_csrf/concern.rb
|
55
|
+
- lib/angular_rails_csrf/railtie.rb
|
56
|
+
- lib/angular_rails_csrf/version.rb
|
57
|
+
- lib/angular_rails_csrf.rb
|
58
|
+
- MIT-LICENSE
|
59
|
+
- Rakefile
|
60
|
+
- README.md
|
61
|
+
- test/angular_rails_csrf_test.rb
|
62
|
+
- test/dummy/app/controllers/application_controller.rb
|
63
|
+
- test/dummy/config/application.rb
|
64
|
+
- test/dummy/config/boot.rb
|
65
|
+
- test/dummy/config/environment.rb
|
66
|
+
- test/dummy/config/routes.rb
|
67
|
+
- test/dummy/config.ru
|
68
|
+
- test/dummy/log/test.log
|
69
|
+
- test/test_helper.rb
|
70
|
+
homepage: https://github.com/jsanders/angular_rails_csrf
|
71
|
+
licenses:
|
72
|
+
- MIT
|
73
|
+
metadata: {}
|
74
|
+
post_install_message:
|
75
|
+
rdoc_options: []
|
76
|
+
require_paths:
|
77
|
+
- lib
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
requirements: []
|
89
|
+
rubyforge_project:
|
90
|
+
rubygems_version: 2.1.10
|
91
|
+
signing_key:
|
92
|
+
specification_version: 4
|
93
|
+
summary: Support for AngularJS $http service style CSRF protection in Rails
|
94
|
+
test_files:
|
95
|
+
- test/angular_rails_csrf_test.rb
|
96
|
+
- test/dummy/app/controllers/application_controller.rb
|
97
|
+
- test/dummy/config/application.rb
|
98
|
+
- test/dummy/config/boot.rb
|
99
|
+
- test/dummy/config/environment.rb
|
100
|
+
- test/dummy/config/routes.rb
|
101
|
+
- test/dummy/config.ru
|
102
|
+
- test/dummy/log/test.log
|
103
|
+
- test/test_helper.rb
|