browserid-provider 0.5.4 → 0.5.5

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.
@@ -63,6 +63,18 @@ module BrowserID
63
63
  #
64
64
  # We're going to certify that public key for the currently logged in user.
65
65
  #
66
+ # The resulting data has to be a JSON object with the following document structure:
67
+ #
68
+ # {
69
+ # "iss": "example.com",
70
+ # "exp": "1313971280961",
71
+ # "public-key": "pubkey" data from the request (see above)
72
+ # "principal": {
73
+ # "email": "john@example.com"
74
+ # }
75
+ # }
76
+ #
77
+ # See https://github.com/mozilla/id-specs/blob/prod/browserid/index.md#identity-certificate for further reference.
66
78
  def certify
67
79
  email = current_user_email
68
80
  return err "No user is logged in." unless email
@@ -73,25 +85,14 @@ module BrowserID
73
85
 
74
86
  expiration = (Time.now.strftime("%s").to_i + params["duration"].to_i) * 1000
75
87
 
76
- # Old certificate structure, changed to fit with https://github.com/mozilla/browserid-certifier/blob/master/bin/certifier#L51
77
- # issue = {
78
- # "principal" => { "email"=> email }
79
- # "hostname" => issuer(email),
80
- # "exp" => expiration,
81
- # "public-key" => params["pubkey"],
82
- # }
83
- # issue = {
84
- # "email"=> email,
85
- # "pubkey" => params["pubkey"],
86
- # "duration" => expiration,
87
- # "hostname" => issuer(email)
88
- # }
89
88
  issue = {
90
89
  "iss" => issuer(email),
91
90
  "exp" => expiration,
91
+ "iat" => (Time.now.strftime("%s").to_i) * 1000,
92
92
  "public-key" => JSON.parse(params["pubkey"]),
93
93
  "principal" => { "email"=> email }
94
94
  }
95
+
95
96
  jwt = JSON::JWT.new(issue)
96
97
  jws = jwt.sign(@identity.private_key, :RS256)
97
98
 
@@ -1,3 +1,3 @@
1
1
  module BrowserID
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browserid-provider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-13 00:00:00.000000000 Z
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json-jwt