web_push 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -0
- data/lib/web_push/version.rb +1 -1
- data/lib/web_push.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc95f662554974084930ef130f7e498337e96d8f
|
4
|
+
data.tar.gz: a7f483340075328cf090bd1b3897de04ccee967f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a73661e6cff9d901fab755f7782488fc32ee993782abfd8d1c02e947941c66985677d9c4a095eced1f452a95035ebfcbcd90815e7c78d3f998ab8b3449bb23d0
|
7
|
+
data.tar.gz: a00ad294997af05c5965cdedd6c07d913f9f0e3579fc3a0bee3f0f96b5a2e1e73efccd7cd6ae56ad853d5f91207040f66e99ff220fb7c617c2603fc3b04654a0
|
data/README.md
CHANGED
@@ -20,6 +20,21 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
+
```ruby
|
24
|
+
pkey = WebPush::Utils.generate_vapid_pkey
|
25
|
+
vapid_private_key = Base64.urlsafe_encode64(pkey.private_key.to_bn.to_s(2)).delete('=')
|
26
|
+
vapid_public_key = Base64.urlsafe_encode64(pkey.public_key.to_bn.to_s(2)).delete('=')
|
27
|
+
```
|
28
|
+
|
29
|
+
```js
|
30
|
+
serviceWorker.pushManager.subscribe({
|
31
|
+
userVisibleOnly: true,
|
32
|
+
applicationServerKey: 'VAPID Public key(ArrayBuffer, Uint8Array or ...)',
|
33
|
+
}).then((subscription) => { ... })
|
34
|
+
```
|
35
|
+
|
36
|
+
See https://developer.mozilla.org/en/docs/Web/API/PushManager/subscribe and https://github.com/miyucy/miyucy.github.io/blob/master/push.js
|
37
|
+
|
23
38
|
```ruby
|
24
39
|
subscription = {
|
25
40
|
endpoint: 'https://example.com/...',
|
data/lib/web_push/version.rb
CHANGED
data/lib/web_push.rb
CHANGED
@@ -58,8 +58,8 @@ class WebPush
|
|
58
58
|
}.tap do |request|
|
59
59
|
encrypted = encrypt(@p256dh, @auth, payload)
|
60
60
|
request[:headers]['Content-Length'] = encrypted[:cipher].bytesize.to_s
|
61
|
-
request[:headers]['Encryption'] = '
|
62
|
-
request[:headers]['Crypto-Key'] = '
|
61
|
+
request[:headers]['Encryption'] = 'salt=' + urlsafe_encode64(encrypted[:salt])
|
62
|
+
request[:headers]['Crypto-Key'] = 'dh=' + urlsafe_encode64(encrypted[:server_public_key])
|
63
63
|
request[:body] = encrypted[:cipher]
|
64
64
|
|
65
65
|
audience = request[:uri].scheme + "://" + request[:uri].host
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: web_push
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- miyucy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ece
|