danski-ooh-auth 0.1.3 → 0.1.10
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/Rakefile +2 -2
- data/app/controllers/tokens.rb +1 -1
- data/app/views/layout/ooh_auth.html.erb +2 -2
- data/lib/ooh-auth.rb +8 -8
- data/readme.markdown +1 -1
- data/spec/controllers/authenticating_clients_spec.rb +10 -6
- data/spec/controllers/tokens_spec.rb +2 -3
- data/spec/models/authenticating_client_spec.rb +6 -0
- data/spec/spec_fixtures.rb +1 -0
- metadata +1 -1
data/Rakefile
CHANGED
@@ -16,8 +16,8 @@ GEM_NAME = "ooh-auth"
|
|
16
16
|
AUTHOR = "Dan Glegg"
|
17
17
|
EMAIL = "dan@angryamoeba.co.uk"
|
18
18
|
HOMEPAGE = "http://github.com/danski/ooh-auth"
|
19
|
-
SUMMARY = "Merb Slice that
|
20
|
-
GEM_VERSION = "0.
|
19
|
+
SUMMARY = "Merb Slice that provides RESTful authentication functionality for your application."
|
20
|
+
GEM_VERSION = "0.9.10"
|
21
21
|
|
22
22
|
spec = Gem::Specification.new do |s|
|
23
23
|
s.rubyforge_project = 'merb'
|
data/app/controllers/tokens.rb
CHANGED
@@ -34,7 +34,7 @@ class OohAuth::Tokens < OohAuth::Application
|
|
34
34
|
@token = OohAuth::Token.create_request_key(@authenticating_client)
|
35
35
|
end
|
36
36
|
# # Okay, no error raised. Gogo render.
|
37
|
-
display @token, :show, :layout=>
|
37
|
+
display @token, :show, :layout=>nil
|
38
38
|
end
|
39
39
|
|
40
40
|
def new
|
@@ -2,12 +2,12 @@
|
|
2
2
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
5
|
-
<title>
|
5
|
+
<title>Full-fat Auth Slice</title>
|
6
6
|
</head>
|
7
7
|
<!-- you can override this layout at slices/ooh-auth/app/views/layout/ooh-auth.html.erb -->
|
8
8
|
<body class="ooh-auth">
|
9
9
|
<div id="root">
|
10
|
-
<h1>
|
10
|
+
<h1>Full-fat Auth Slice</h1>
|
11
11
|
|
12
12
|
<% unless message.blank? %>
|
13
13
|
<div id="_message">
|
data/lib/ooh-auth.rb
CHANGED
@@ -2,12 +2,12 @@ if defined?(Merb::Plugins)
|
|
2
2
|
|
3
3
|
$:.unshift File.dirname(__FILE__)
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
load_dependency "merb-action-args"
|
6
|
+
load_dependency 'merb-auth-core'
|
7
|
+
load_dependency 'merb-auth-more'
|
8
|
+
load_dependency 'merb-slices'
|
9
|
+
load_dependency "merb-helpers"
|
10
|
+
load_dependency "merb-assets"
|
11
11
|
|
12
12
|
Merb::Plugins.add_rakefiles "ooh-auth/merbtasks", "ooh-auth/slicetasks", "ooh-auth/spectasks"
|
13
13
|
|
@@ -46,8 +46,8 @@ if defined?(Merb::Plugins)
|
|
46
46
|
module OohAuth
|
47
47
|
|
48
48
|
# Slice metadata
|
49
|
-
self.description = "OohAuth is Merb slice that extends merb-auth-more with
|
50
|
-
self.version = "0.1
|
49
|
+
self.description = "OohAuth is Merb slice that extends merb-auth-more with RESTful authentication"
|
50
|
+
self.version = "0.0.1"
|
51
51
|
self.author = "Dan Glegg"
|
52
52
|
self.identifier = "ooh-auth"
|
53
53
|
|
data/readme.markdown
CHANGED
@@ -29,7 +29,7 @@ It depends on:
|
|
29
29
|
* merb-auth-more
|
30
30
|
* nokogiri (tests only)
|
31
31
|
* ruby-hmac
|
32
|
-
* Erb
|
32
|
+
* Erb **(we need your help to get started on HAML support)**
|
33
33
|
* datamapper **(we need your help to become ORM-agnostic)**
|
34
34
|
|
35
35
|
You should read:
|
@@ -27,10 +27,10 @@ describe OohAuth::AuthenticatingClients do
|
|
27
27
|
@user = user_class.gen
|
28
28
|
|
29
29
|
@bad_authenticating_client_attrs = OohAuth::AuthenticatingClient.gen.attributes
|
30
|
-
[:name
|
30
|
+
[:name].each {|a| @bad_authenticating_client_attrs.delete(a) }
|
31
31
|
|
32
32
|
@good_authenticating_client_attrs = OohAuth::AuthenticatingClient.gen(:kind=>"desktop").attributes
|
33
|
-
[:id, :secret, :api_key
|
33
|
+
[:id, :secret, :api_key].each {|a| @good_authenticating_client_attrs.delete(a) }
|
34
34
|
@good_authenticating_client_attrs[:name] = "unique fo realz"
|
35
35
|
|
36
36
|
@controller = OohAuth::AuthenticatingClients.new(Merb::Test::RequestHelper::FakeRequest.new)
|
@@ -53,13 +53,17 @@ describe OohAuth::AuthenticatingClients do
|
|
53
53
|
@controller.headers['Location'].should == @controller.slice_url(:authenticating_client, @controller.assigns(:authenticating_client))
|
54
54
|
(ac_count + 1).should == OohAuth::AuthenticatingClient.count
|
55
55
|
end
|
56
|
+
it "should assign the authenticated user's ID regardless of user_id in the form data" do
|
57
|
+
@controller.create(@good_authenticating_client_attrs.merge(:user_id=>@user.id+1000))
|
58
|
+
@controller.assigns(:authenticating_client).user_id.should == @user.id
|
59
|
+
end
|
56
60
|
end
|
57
61
|
|
58
62
|
describe "show action" do
|
59
63
|
before :each do
|
60
64
|
@user = user_class.gen
|
61
|
-
@authenticating_client = OohAuth::AuthenticatingClient.gen(:
|
62
|
-
@other_authenticating_client = OohAuth::AuthenticatingClient.gen
|
65
|
+
@authenticating_client = OohAuth::AuthenticatingClient.gen(:user_id=>@user.id)
|
66
|
+
@other_authenticating_client = OohAuth::AuthenticatingClient.gen(:user_id=>@user.id+1000)
|
63
67
|
@controller = OohAuth::AuthenticatingClients.new(Merb::Test::RequestHelper::FakeRequest.new)
|
64
68
|
@controller.request.session.user = @user
|
65
69
|
end
|
@@ -76,8 +80,8 @@ describe OohAuth::AuthenticatingClients do
|
|
76
80
|
describe "edit/update action" do
|
77
81
|
before :each do
|
78
82
|
@user = user_class.gen
|
79
|
-
@authenticating_client = OohAuth::AuthenticatingClient.gen(:
|
80
|
-
@other_authenticating_client = OohAuth::AuthenticatingClient.gen
|
83
|
+
@authenticating_client = OohAuth::AuthenticatingClient.gen(:user_id=>@user.id)
|
84
|
+
@other_authenticating_client = OohAuth::AuthenticatingClient.gen(:user_id=>@user.id+1000)
|
81
85
|
@controller = OohAuth::AuthenticatingClients.new(Merb::Test::RequestHelper::FakeRequest.new)
|
82
86
|
@controller.request.session.user = @user
|
83
87
|
end
|
@@ -26,7 +26,7 @@ describe OohAuth::Tokens do
|
|
26
26
|
describe "index action" do
|
27
27
|
%w(js yaml xml html).each do |format|
|
28
28
|
it "#{format} requests should generate an anonymous receipt when sent GET with a consumer and no other information." do
|
29
|
-
@controller = get(sign_url_with(@authenticating_client, @controller.slice_url(:tokens, :format=>format))
|
29
|
+
@controller = get(sign_url_with(@authenticating_client, @controller.slice_url(:tokens), :format=>format))
|
30
30
|
@controller.should be_successful
|
31
31
|
request_token = @controller.assigns(:token)
|
32
32
|
request_token.should be_kind_of(OohAuth::Token)
|
@@ -36,11 +36,10 @@ describe OohAuth::Tokens do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should return OAuth-format key responses if no format is specified" do
|
39
|
-
@controller = get(sign_url_with(@authenticating_client, @controller.slice_url(:tokens
|
39
|
+
@controller = get(sign_url_with(@authenticating_client, @controller.slice_url(:tokens)))
|
40
40
|
request_token = @controller.assigns(:token)
|
41
41
|
@controller.body.should == "oauth_token=#{request_token.token_key}&oauth_token_secret=#{request_token.secret}"
|
42
42
|
end
|
43
|
-
|
44
43
|
|
45
44
|
it "should generate nothing and return a 406 not acceptable when the request is not signed or contains an incorrect API key" do
|
46
45
|
lambda {get(@controller.slice_url(:tokens, :oauth_consumer_key=>@authenticating_client.api_key))}.should raise_error(Merb::Controller::NotAcceptable)
|
@@ -40,5 +40,11 @@ describe OohAuth::AuthenticatingClient do
|
|
40
40
|
arr = OohAuth::AuthenticatingClient.find_for_user(nil)
|
41
41
|
arr.length.should == 0
|
42
42
|
end
|
43
|
+
|
44
|
+
it "should return a list of authenticating clients when find_for_user is called with a valid user" do
|
45
|
+
@authenticating_clients = 10.of {OohAuth::AuthenticatingClient.gen(:user_id=>@user.id)}
|
46
|
+
arr = OohAuth::AuthenticatingClient.find_for_user(@user)
|
47
|
+
arr.length.should == 10
|
48
|
+
end
|
43
49
|
|
44
50
|
end
|
data/spec/spec_fixtures.rb
CHANGED