simple_admin_auth 0.0.2 → 0.0.3

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 98c29dd68bd81a74dea530e3ea8ca8ba68269af6
4
+ data.tar.gz: 4cd9263c01366f771ef4f5d393907d5822a4425f
5
+ SHA512:
6
+ metadata.gz: ea4985da24de96b94f27ec7574c8ab4b0afbf17559ec5efae1ec7916ba299c83ee7ba580cf30e548db108223c095172ea1794a6ec3925db595a7c5a1ed88884a
7
+ data.tar.gz: ee994b9bc4c4e9ce25c0c8553771478d108bac033dc51164af2dc81563fae59d9e7cc5101caad9978df288561e682ef8d447f0ac2a9f1e30e29411c36c31a9dc
data/README.md CHANGED
@@ -4,7 +4,7 @@ Add simple admin authentication to any Rails application, using Google Apps for
4
4
 
5
5
  Authentication is done purely on the Google Apps domain - no user model is used.
6
6
 
7
- ## Usage
7
+ ## Usage with Rails 3.x
8
8
 
9
9
  Add this line to your application's Gemfile:
10
10
 
@@ -24,6 +24,32 @@ Protect any routes that require authentication:
24
24
 
25
25
  An user may be logged out by linking to `/auth/admin/logout`, or by clearing `session[:admin_user]`.
26
26
 
27
+ ## Usage with Sinatra/Rack-based apps
28
+
29
+ require 'rack/builder'
30
+ require 'simple_admin_auth'
31
+ require 'simple_admin_auth/rack'
32
+
33
+ app = Rack::Builder.new do
34
+ use Rack::Session::Cookie, secret: 'change_me'
35
+
36
+ use SimpleAdminAuth::Builder do
37
+ provider :google_apps, :domain => 'yourdomain.com', :name => 'admin'
38
+ end
39
+
40
+ map "/your_protected_area" do
41
+ use SimpleAdminAuth::Rack
42
+ run YourProtectedArea.new
43
+ end
44
+
45
+ map "/" do
46
+ use SimpleAdminAuth::Application
47
+ run YourMainSite.new
48
+ end
49
+ end
50
+
51
+ run app
52
+
27
53
 
28
54
  ## Contributing
29
55
 
data/config.ru ADDED
@@ -0,0 +1,23 @@
1
+ require 'rack/builder'
2
+ require 'simple_admin_auth'
3
+ require 'simple_admin_auth/rack'
4
+
5
+ app = Rack::Builder.new do
6
+ use Rack::Session::Cookie, secret: 'your_secret_here'
7
+
8
+ use SimpleAdminAuth::Builder do
9
+ provider :google_apps, :domain => 'embarkmobile.com', :name => 'admin'
10
+ end
11
+
12
+ map "/admin" do
13
+ use SimpleAdminAuth::Rack
14
+ run lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['Welcome, you have been authenticated!']] }
15
+ end
16
+
17
+ map "/" do
18
+ use SimpleAdminAuth::Application
19
+ run lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['Main site']] }
20
+ end
21
+ end
22
+
23
+ run app
@@ -0,0 +1,17 @@
1
+ module SimpleAdminAuth
2
+ class Rack
3
+ def initialize(app, options={})
4
+ @app = app
5
+ end
6
+
7
+ def call(env)
8
+ if env['rack.session'][:admin_user]
9
+ @app.call(env)
10
+ else
11
+ redirect_to = env['SCRIPT_NAME'] + env['PATH_INFO']
12
+ env['rack.session'][:admin_login_return_url] = redirect_to
13
+ [302, {"Content-Type"=>"text/plain", "Location" => '/auth/admin/login'}, ["Redirecting..."]]
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module SimpleAdminAuth
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_admin_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ralf Kistner
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-23 00:00:00.000000000 Z
11
+ date: 2013-04-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: omniauth
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: omniauth-google-apps
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: sinatra
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Add simple admin authentication to any Rails application, using Google
@@ -72,37 +65,37 @@ files:
72
65
  - LICENSE.txt
73
66
  - README.md
74
67
  - Rakefile
68
+ - config.ru
75
69
  - lib/simple_admin_auth.rb
76
70
  - lib/simple_admin_auth/application.rb
77
71
  - lib/simple_admin_auth/authenticated.rb
78
72
  - lib/simple_admin_auth/builder.rb
79
73
  - lib/simple_admin_auth/login_redirect.rb
74
+ - lib/simple_admin_auth/rack.rb
80
75
  - lib/simple_admin_auth/version.rb
81
76
  - simple_admin_auth.gemspec
82
77
  - static/css/bootstrap.min.css
83
78
  homepage: ''
84
79
  licenses: []
80
+ metadata: {}
85
81
  post_install_message:
86
82
  rdoc_options: []
87
83
  require_paths:
88
84
  - lib
89
85
  required_ruby_version: !ruby/object:Gem::Requirement
90
- none: false
91
86
  requirements:
92
- - - ! '>='
87
+ - - '>='
93
88
  - !ruby/object:Gem::Version
94
89
  version: '0'
95
90
  required_rubygems_version: !ruby/object:Gem::Requirement
96
- none: false
97
91
  requirements:
98
- - - ! '>='
92
+ - - '>='
99
93
  - !ruby/object:Gem::Version
100
94
  version: '0'
101
95
  requirements: []
102
96
  rubyforge_project:
103
- rubygems_version: 1.8.24
97
+ rubygems_version: 2.0.3
104
98
  signing_key:
105
- specification_version: 3
99
+ specification_version: 4
106
100
  summary: Simple admin authentication using Google Apps
107
101
  test_files: []
108
- has_rdoc: