omniauth-webmaker 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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