rack-rpx 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -6,9 +6,9 @@ require 'lib/rack-rpx'
6
6
 
7
7
  use Rack::Session::Cookie
8
8
 
9
- use Rack::Rpx, :site => 'http://twitter.com',
9
+ use Rack::Rpx, :port => '9393',
10
10
  :api_key => '5b17163d199813f86e51fc3282ffc4298a40cc44',
11
- :callback_path => 'login_completed'
11
+ :callback_path => '/login_completed'
12
12
 
13
13
  helpers do
14
14
  include Rack::Rpx::Methods
@@ -5,5 +5,5 @@
5
5
  RPXNOW.language_preference = 'en';
6
6
 
7
7
 
8
- %a.rpxnow{ :href => "https://olokun.rpxnow.com/openid/v2/signin?token_url=http://localhost:9393/login_completed", :onclick => "return false;" }
8
+ %a.rpxnow{ :href => login_widget_url("olokun"), :onclick => "return false;" }
9
9
  Sign In
@@ -1,5 +1,4 @@
1
1
  %w(rubygems net/http net/https rack json).each { |gem| require gem }
2
-
3
2
  module Rack #:nodoc:
4
3
 
5
4
  # Rack Middleware for integrating RPX Now into your application
@@ -8,26 +7,17 @@ module Rack #:nodoc:
8
7
  #
9
8
  class Rpx
10
9
  OPTIONS = {
11
- :login_path => '/login',
12
- :callback_path => '/callback',
13
- :redirect_to => '/completed',
14
- :callback_url => 'localhost:9393',
15
- :rack_session => 'rack.session'
10
+ :login_path => '/login',
11
+ :callback_path => '/login_completed',
12
+ :host => 'localhost',
13
+ :port => '80',
14
+ :rack_session => 'rack.session'
16
15
  }
17
-
18
- def login_path
19
- OPTIONS[:login_path]
20
- end
21
-
22
- def callback_path
23
- OPTIONS[:callback_path]
24
- end
25
-
16
+
26
17
  # Helper methods intended to be included in your Rails controller or
27
18
  # in your Sinatra helpers block
28
19
  module Methods
29
- RPX_API_URL = "rpxnow.com/api/v2/auth_info"
30
- RPX_LOGIN_URL = "https://#{RPX_API_URL}"
20
+ RPX_LOGIN_URL = "https://rpxnow.com/api/v2/auth_info"
31
21
 
32
22
  # This is *the* method you want to call.
33
23
  #
@@ -47,23 +37,25 @@ module Rack #:nodoc:
47
37
  raise LoginFailedError, 'Cannot log in. Try another account!' unless json['stat'] == 'ok'
48
38
  json
49
39
  end
40
+
41
+ def login_widget_url(app_name)
42
+ "https://#{app_name}.rpxnow.com/openid/v2/signin?token_url=#{callback_url}"
43
+ end
50
44
 
51
45
 
52
- def callback_path
53
- "http://#{OPTIONS[:callback_url]}#{OPTIONS[:callback_path]}"
46
+ def callback_url
47
+ "http://#{OPTIONS[:host]}:#{OPTIONS[:port]}#{OPTIONS[:callback_path]}"
54
48
  end
55
-
56
49
  end
57
50
 
58
51
  def initialize app, *args
59
52
  @app = app
60
53
  arg_options = args.pop
61
- @name = args.first
62
- OPTIONS.merge! arg_options
54
+ OPTIONS.merge! arg_options
63
55
  end
64
56
 
65
57
  def call env
66
- @app.call(env)
58
+ @app.call(env)
67
59
  end
68
60
  end
69
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-rpx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Del Gallego