omniauth-webmaker 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 407751734ebab6e2b3f88ecde8160083300e0cfa
4
- data.tar.gz: d9963a8ba9f58793fbc330535db8cb8d1a1fe436
3
+ metadata.gz: 87237c2420edcc3662ad30b22aa4b8db4812b2ce
4
+ data.tar.gz: 87237d72bdf6132fca28b0e0d360ae47ffb56e25
5
5
  SHA512:
6
- metadata.gz: df94fd7b274a9f9055c7c97399729cdc570579aa8e65e87e0f491876c525ec8d74dfa571b6dbf0846ace8c57aea706b3b10e645212f1548d26b28460bb207ca0
7
- data.tar.gz: 9e67c86d0a9234a39d799fcb6987f5748dabe5289b2a1e49c6fcffc93c0f62f31095b245219b61f8fceeb473b3dc6c6cf5490dc956637d8ab64973376ff59c15
6
+ metadata.gz: ab13120144b584685ee4b2da65aec45c70942b9b4258d4e2338cea1eeeb48fb003d50ae160b20a9cc18ca4004ed877d84c4f717243d932c59fc399b418aa29f5
7
+ data.tar.gz: 0b1a4735244ec4df89ecd761adcc48311c61576c7cf7095502a426aeb73645ee743033ba70829145592b57d4741754a546464fd1306cffb2ccc05924cd33f643
@@ -8,16 +8,34 @@ module OmniAuth
8
8
  class Webmaker
9
9
  include OmniAuth::Strategy
10
10
 
11
+ class WebmakerError < StandardError
12
+ attr_accessor :error
13
+
14
+ def initialize(error)
15
+ self.error = error
16
+ end
17
+
18
+ def message
19
+ error
20
+ end
21
+ end
22
+
11
23
  option :login_server_url, "http://localhost:3000/api/user/authenticate"
12
24
  option :name, "webmaker"
13
25
  option :client_options, {}
14
26
 
15
27
  info do
16
28
  {
17
- :email => verify_webmaker['user']['email']
29
+ :email => verify_webmaker
18
30
  }
19
31
  end
20
32
 
33
+ def callback_phase
34
+ super
35
+ rescue WebmakerError => e
36
+ fail! e.message, e
37
+ end
38
+
21
39
  def verify_webmaker
22
40
  req_body = MultiJson.decode request.body
23
41
  conn = Faraday.new( options[:client_options].update(:url => options["login_server_url"]) )
@@ -26,7 +44,17 @@ module OmniAuth
26
44
  :audience => req_body["audience"]
27
45
  )
28
46
 
29
- resp = MultiJson.decode(response.body)
47
+ resp_body = MultiJson.decode(response.body)
48
+
49
+ if resp_body.has_key? "user"
50
+ resp_body["user"]["email"]
51
+ elsif resp_body.has_key? "error"
52
+ raise WebmakerError, "Error Logging In"
53
+ elsif resp_body.has_key? "email"
54
+ raise WebmakerError, "You Must <a href=\\\"https://webmaker.org\\\"> create a Webmaker account</a> to log in"
55
+ else
56
+ raise WebmakerError, "Unknown Error"
57
+ end
30
58
  end
31
59
  end
32
60
  end
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Webmaker
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-webmaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher De Cairos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-12 00:00:00.000000000 Z
11
+ date: 2014-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth