faye-authentication 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,66 @@
1
+ /*!
2
+ query-string
3
+ Parse and stringify URL query strings
4
+ https://github.com/sindresorhus/query-string
5
+ by Sindre Sorhus
6
+ MIT License
7
+ */
8
+ (function () {
9
+ 'use strict';
10
+ var queryString = {};
11
+
12
+ queryString.parse = function (str) {
13
+ if (typeof str !== 'string') {
14
+ return {};
15
+ }
16
+
17
+ str = str.trim().replace(/^(\?|#)/, '');
18
+
19
+ if (!str) {
20
+ return {};
21
+ }
22
+
23
+ return str.trim().split('&').reduce(function (ret, param) {
24
+ var parts = param.replace(/\+/g, ' ').split('=');
25
+ var key = parts[0];
26
+ var val = parts[1];
27
+
28
+ key = decodeURIComponent(key);
29
+ // missing `=` should be `null`:
30
+ // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
31
+ val = val === undefined ? null : decodeURIComponent(val);
32
+
33
+ if (!ret.hasOwnProperty(key)) {
34
+ ret[key] = val;
35
+ } else if (Array.isArray(ret[key])) {
36
+ ret[key].push(val);
37
+ } else {
38
+ ret[key] = [ret[key], val];
39
+ }
40
+
41
+ return ret;
42
+ }, {});
43
+ };
44
+
45
+ queryString.stringify = function (obj) {
46
+ return obj ? Object.keys(obj).map(function (key) {
47
+ var val = obj[key];
48
+
49
+ if (Array.isArray(val)) {
50
+ return val.map(function (val2) {
51
+ return encodeURIComponent(key) + '=' + encodeURIComponent(val2);
52
+ }).join('&');
53
+ }
54
+
55
+ return encodeURIComponent(key) + '=' + encodeURIComponent(val);
56
+ }).join('&') : '';
57
+ };
58
+
59
+ if (typeof define === 'function' && define.amd) {
60
+ define([], queryString);
61
+ } else if (typeof module !== 'undefined' && module.exports) {
62
+ module.exports = queryString;
63
+ } else {
64
+ window.queryString = queryString;
65
+ }
66
+ })();
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faye-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrien Siami
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-22 00:00:00.000000000 Z
11
+ date: 2014-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jwt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +58,14 @@ dependencies:
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: 3.0.0.rc1
61
+ version: '3.0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 3.0.0.rc1
68
+ version: '3.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: jasmine
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -132,6 +146,7 @@ files:
132
146
  - ".gitignore"
133
147
  - ".rspec"
134
148
  - ".travis.yml"
149
+ - CHANGELOG.md
135
150
  - Gemfile
136
151
  - LICENSE.txt
137
152
  - README.md
@@ -154,9 +169,10 @@ files:
154
169
  - spec/spec_helper.rb
155
170
  - spec/utils/javascripts/core.js
156
171
  - spec/utils/javascripts/faye.js
157
- - spec/utils/javascripts/hmac.js
158
172
  - spec/utils/javascripts/jquery.js
173
+ - spec/utils/javascripts/jwt.js
159
174
  - spec/utils/javascripts/mock-ajax.js
175
+ - spec/utils/javascripts/query-string.js
160
176
  - spec/utils/javascripts/sha1.js
161
177
  homepage: https://github.com/dimelo/faye-authentication
162
178
  licenses:
@@ -194,7 +210,8 @@ test_files:
194
210
  - spec/spec_helper.rb
195
211
  - spec/utils/javascripts/core.js
196
212
  - spec/utils/javascripts/faye.js
197
- - spec/utils/javascripts/hmac.js
198
213
  - spec/utils/javascripts/jquery.js
214
+ - spec/utils/javascripts/jwt.js
199
215
  - spec/utils/javascripts/mock-ajax.js
216
+ - spec/utils/javascripts/query-string.js
200
217
  - spec/utils/javascripts/sha1.js
@@ -1,131 +0,0 @@
1
- /*
2
- CryptoJS v3.1.2
3
- code.google.com/p/crypto-js
4
- (c) 2009-2013 by Jeff Mott. All rights reserved.
5
- code.google.com/p/crypto-js/wiki/License
6
- */
7
- (function () {
8
- // Shortcuts
9
- var C = CryptoJS;
10
- var C_lib = C.lib;
11
- var Base = C_lib.Base;
12
- var C_enc = C.enc;
13
- var Utf8 = C_enc.Utf8;
14
- var C_algo = C.algo;
15
-
16
- /**
17
- * HMAC algorithm.
18
- */
19
- var HMAC = C_algo.HMAC = Base.extend({
20
- /**
21
- * Initializes a newly created HMAC.
22
- *
23
- * @param {Hasher} hasher The hash algorithm to use.
24
- * @param {WordArray|string} key The secret key.
25
- *
26
- * @example
27
- *
28
- * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
29
- */
30
- init: function (hasher, key) {
31
- // Init hasher
32
- hasher = this._hasher = new hasher.init();
33
-
34
- // Convert string to WordArray, else assume WordArray already
35
- if (typeof key == 'string') {
36
- key = Utf8.parse(key);
37
- }
38
-
39
- // Shortcuts
40
- var hasherBlockSize = hasher.blockSize;
41
- var hasherBlockSizeBytes = hasherBlockSize * 4;
42
-
43
- // Allow arbitrary length keys
44
- if (key.sigBytes > hasherBlockSizeBytes) {
45
- key = hasher.finalize(key);
46
- }
47
-
48
- // Clamp excess bits
49
- key.clamp();
50
-
51
- // Clone key for inner and outer pads
52
- var oKey = this._oKey = key.clone();
53
- var iKey = this._iKey = key.clone();
54
-
55
- // Shortcuts
56
- var oKeyWords = oKey.words;
57
- var iKeyWords = iKey.words;
58
-
59
- // XOR keys with pad constants
60
- for (var i = 0; i < hasherBlockSize; i++) {
61
- oKeyWords[i] ^= 0x5c5c5c5c;
62
- iKeyWords[i] ^= 0x36363636;
63
- }
64
- oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
65
-
66
- // Set initial values
67
- this.reset();
68
- },
69
-
70
- /**
71
- * Resets this HMAC to its initial state.
72
- *
73
- * @example
74
- *
75
- * hmacHasher.reset();
76
- */
77
- reset: function () {
78
- // Shortcut
79
- var hasher = this._hasher;
80
-
81
- // Reset
82
- hasher.reset();
83
- hasher.update(this._iKey);
84
- },
85
-
86
- /**
87
- * Updates this HMAC with a message.
88
- *
89
- * @param {WordArray|string} messageUpdate The message to append.
90
- *
91
- * @return {HMAC} This HMAC instance.
92
- *
93
- * @example
94
- *
95
- * hmacHasher.update('message');
96
- * hmacHasher.update(wordArray);
97
- */
98
- update: function (messageUpdate) {
99
- this._hasher.update(messageUpdate);
100
-
101
- // Chainable
102
- return this;
103
- },
104
-
105
- /**
106
- * Finalizes the HMAC computation.
107
- * Note that the finalize operation is effectively a destructive, read-once operation.
108
- *
109
- * @param {WordArray|string} messageUpdate (Optional) A final message update.
110
- *
111
- * @return {WordArray} The HMAC.
112
- *
113
- * @example
114
- *
115
- * var hmac = hmacHasher.finalize();
116
- * var hmac = hmacHasher.finalize('message');
117
- * var hmac = hmacHasher.finalize(wordArray);
118
- */
119
- finalize: function (messageUpdate) {
120
- // Shortcut
121
- var hasher = this._hasher;
122
-
123
- // Compute HMAC
124
- var innerHash = hasher.finalize(messageUpdate);
125
- hasher.reset();
126
- var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
127
-
128
- return hmac;
129
- }
130
- });
131
- }());