warden-googleapps 0.0.1 → 0.0.2

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.
data/README.md CHANGED
@@ -1,7 +1,60 @@
1
1
  warden-googleapps
2
2
  =================
3
3
 
4
- A Warden middleware for google apps
4
+ A Warden middleware for google apps. It needs a little work but definitely authenticates you just fine in Rack apps.
5
+
6
+ Example
7
+ =======
8
+
9
+ module DirectoryAdmin
10
+ class App < Sinatra::Default
11
+ disable :show_errors
12
+ disable :show_exceptions
13
+
14
+ use Warden::Manager do |manager|
15
+ manager.default_strategies :google_apps
16
+ manager.failure_app = BadAuthentication
17
+
18
+ manager.config[:google_apps_domain] = 'example.org'
19
+ end
20
+
21
+ helpers do
22
+ def ensure_authenticated
23
+ unless env['warden'].authenticate!
24
+ throw(:warden)
25
+ end
26
+ end
27
+
28
+ def user
29
+ env['warden'].user
30
+ end
31
+ end
32
+
33
+ get '/' do
34
+ ensure_authenticated
35
+ haml "%h2= 'Hello There, #{user.full_name}!'"
36
+ end
37
+
38
+ get '/logout' do
39
+ env['warden'].logout
40
+ haml "%h2= 'Peace!'"
41
+ end
42
+ end
43
+
44
+ class BadAuthentication < Sinatra::Default
45
+ get '/unauthenticated' do
46
+ status 403
47
+ haml "%h3= 'Unable to authenticate, sorry bud.'"
48
+ end
49
+ end
50
+ end
51
+
52
+
53
+ Enabling on Google
54
+ ==================
55
+ Be sure you have Federated Login using OpenID enabled under your Advanced Settings Tab
56
+
57
+ ![Your Google Apps Admin Dashboard](http://img.skitch.com/20100103-cdjtbyyw2xsbwya92r6gcd47hr.jpg "Check the box to enable")
5
58
 
6
59
  Developing
7
60
  ==========
data/Rakefile CHANGED
@@ -3,6 +3,8 @@ require 'rubygems/specification'
3
3
  require 'date'
4
4
  require 'bundler'
5
5
 
6
+ require 'lib/warden-googleapps/version'
7
+
6
8
  task :default => [:spec]
7
9
 
8
10
  require 'spec/rake/spectask'
@@ -18,12 +20,12 @@ Spec::Rake::SpecTask.new do |t|
18
20
  t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
19
21
  end
20
22
 
21
- GEM = "warden-googleapps"
22
- GEM_VERSION = "0.0.1"
23
- AUTHOR = "Corey Donohoe"
24
- EMAIL = "atmos@atmos.org"
25
- HOMEPAGE = "http://github.com/atmos/warden-googleapps"
26
- SUMMARY = "A warden strategy to use Google's Federated OpenID with Google Apps"
23
+ GEM = "warden-googleapps"
24
+ GEM_VERSION = Warden::GoogleApps::VERSION
25
+ AUTHOR = "Corey Donohoe"
26
+ EMAIL = "atmos@atmos.org"
27
+ HOMEPAGE = "http://github.com/atmos/warden-googleapps"
28
+ SUMMARY = "A warden strategy to use Google's Federated OpenID with Google Apps"
27
29
 
28
30
  spec = Gem::Specification.new do |s|
29
31
  s.name = GEM
@@ -57,4 +59,3 @@ task :make_spec do
57
59
  file.puts spec.to_ruby
58
60
  end
59
61
  end
60
-
@@ -12,5 +12,6 @@ module Warden
12
12
  end
13
13
 
14
14
  require File.dirname(__FILE__)+'/warden-googleapps/user'
15
+ require File.dirname(__FILE__)+'/warden-googleapps/version'
15
16
  require File.dirname(__FILE__)+'/warden-googleapps/strategy'
16
17
  require File.dirname(__FILE__)+'/warden-googleapps/gapps_openid'
@@ -38,9 +38,11 @@ Warden::Strategies.add(:google_apps) do
38
38
  ::OpenID::Store::Filesystem.new("#{Dir.tmpdir}/tmp/openid")
39
39
  end
40
40
 
41
+ def domain
42
+ env['warden'].config[:google_apps_domain]
43
+ end
44
+
41
45
  def open_id_endpoint
42
- # TODO Get this exposed properly via warden
43
- domain = env['warden'].instance_variable_get('@config')[:google_apps_domain]
44
46
  'https://www.google.com/accounts/o8/site-xrds?hd=%s' % domain
45
47
  end
46
48
 
@@ -0,0 +1,5 @@
1
+ module Warden
2
+ module GoogleApps
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warden-googleapps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corey Donohoe
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-02 00:00:00 -08:00
12
+ date: 2010-01-03 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,9 +18,9 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - ">="
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: "0"
23
+ version: 0.7.0
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sinatra
@@ -38,7 +38,7 @@ dependencies:
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - "="
41
+ - - ~>
42
42
  - !ruby/object:Gem::Version
43
43
  version: 2.1.6
44
44
  version:
@@ -60,6 +60,7 @@ files:
60
60
  - lib/warden-googleapps/gapps_openid.rb
61
61
  - lib/warden-googleapps/strategy.rb
62
62
  - lib/warden-googleapps/user.rb
63
+ - lib/warden-googleapps/version.rb
63
64
  - lib/warden-googleapps.rb
64
65
  has_rdoc: true
65
66
  homepage: http://github.com/atmos/warden-googleapps