simple-auth 0.2.5 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/LICENSE +2 -0
  2. data/README.md +99 -1
  3. data/VERSION +1 -1
  4. data/simple-auth.gemspec +1 -1
  5. metadata +4 -4
data/LICENSE CHANGED
@@ -1,4 +1,6 @@
1
1
  Copyright (c) 2009 Umang Chouhan
2
+ Copyright (c) 2009 Ehren Murdick
3
+ Copyright (c) 2009 OptimisCorp.
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,7 +1,103 @@
1
1
  simple-auth
2
2
  ===========
3
3
 
4
- Description goes here.
4
+ simple-auth is a simple authentication library for applications that run under the same domain.
5
+
6
+ simple-auth can be used with any authentication provider, like - Authlogic, Devise, Restful Authentication,
7
+ and any others that use cookie based authentication.
8
+
9
+ simple-auth can be used to redirect a browser application to the authentication provider for login and session management.
10
+
11
+ simple-auth can also be used to recieve persistent tokens from the authenticator application,
12
+ which in turn can be used to make requests on behalf of a user even when they are logged off.
13
+
14
+ Sample Configuration
15
+ ====================
16
+
17
+ simple-auth authenticator host and paths can be configured for multiple environments as shown below.
18
+
19
+ SimpleAuth.configure do
20
+ host do
21
+ development 'test.domain.local'
22
+ test 'test.domain.local'
23
+ production 'test.domain.local'
24
+ end
25
+
26
+ paths do
27
+ login 'login'
28
+ logout 'logout'
29
+ end
30
+ end
31
+
32
+ In the example configuration above, simple-auth configures "test.domain.local" as the host of the authenticator application.
33
+
34
+ The #host method is the helper to set the authenticator host for multiple environments.
35
+
36
+ host do
37
+ development 'development.domain.local'
38
+ test 'test.domain.local'
39
+ end
40
+
41
+ The #paths method is the helper to set the relative paths for endpoints in the authenticator application.
42
+
43
+ paths do
44
+ login 'login'
45
+ logout 'logout'
46
+ end
47
+
48
+ This example sets the login and logout paths in the authenticator application.
49
+ These endpoints can now be accessed in the consumer application just as rails routes.
50
+
51
+ login_path, login_url
52
+ logout_path, logout_url
53
+
54
+ As a bonus, you can also use the configuration to setup non authentication related paths.
55
+
56
+ paths do
57
+ logo 'images/logo.png'
58
+ end
59
+
60
+ logo_path, logo_url
61
+
62
+ This is a contrived example, but you get the point ...
63
+
64
+ Usage
65
+ =====
66
+
67
+ In the consumer application, set up your Gemfile to use the simple-auth gem.
68
+
69
+ gem 'simple-auth', :require => 'simple_auth'
70
+
71
+ Run 'bundle install', and you should have the following helpers available in your controllers and views.
72
+
73
+ * #api - A RestClient::Resource instance pointing to the host endopoint.
74
+ * #login - The #login method uses the cookie in the browser request to authenticate the user, and follow redirection from the authenticator application.
75
+
76
+ Controller Usage
77
+ ================
78
+
79
+ To use the simple-auth gem to redirect to an endpoint in the authenticator application enforced by a before filter, you can use a before filter in the consumer application.
80
+
81
+ before_filter :require_login
82
+
83
+ private
84
+
85
+ def require_login
86
+ login unless current_user
87
+ end
88
+
89
+ You could choose not to save the session returned in the consumer application, however, all you requests will be authenticated and so will effect performance.
90
+
91
+ Pre-Requisite
92
+ =============
93
+
94
+ The authenticator application should define a route for a method #show in the user sessions controller. This method can return the desired session information and enforce authorization rules.
95
+
96
+ class UserSessionsController
97
+ def show
98
+ render :json => { :session => 'secret' }
99
+ end
100
+ end
5
101
 
6
102
  Note on Patches/Pull Requests
7
103
  =============================
@@ -17,6 +113,8 @@ Note on Patches/Pull Requests
17
113
  Copyright
18
114
  =========
19
115
 
116
+ Copyright (c) 2010 Umang Chouhan
117
+ Copyright (c) 2010 Ehren Murdick
20
118
  Copyright (c) 2010 OptimisCorp.
21
119
 
22
120
  See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.5
1
+ 0.3.0
data/simple-auth.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{simple-auth}
8
- s.version = "0.2.5"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Umang Chouhan"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-auth
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 5
10
- version: 0.2.5
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Umang Chouhan