oa-vkontakte 0.2.0 → 0.2.1
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.rdoc
CHANGED
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
|
|
21
21
|
<%= vkontakte_login_button %>
|
|
22
22
|
|
|
23
|
+
Если хотите свою красивую картинку вместо дефолтной вконтактовской кнопки, делайте так:
|
|
24
|
+
|
|
25
|
+
<%= vkontakte_login_button(link_to_function( image_tag("/path/to/image"), "vkLogin.doLogin()" )) %>
|
|
26
|
+
|
|
23
27
|
Также кнопка доступна по адресу /auth/vkontakte, но форма там передается GET-запросом. Можно пропробовать встроить её как iframe.
|
|
24
28
|
|
|
25
29
|
После клика на кнопку и разрешения добавления приложения, будет совершен POST-запрос на /auth/vkontakte/callback.
|
|
@@ -75,4 +79,4 @@ OmniAuth: http://github.com/intridea/omniauth
|
|
|
75
79
|
|
|
76
80
|
== Copyright
|
|
77
81
|
|
|
78
|
-
Copyright (c) 2010 Nick Recobra. See LICENSE for details.
|
|
82
|
+
Copyright (c) 2010-2011 Nick Recobra. See LICENSE for details.
|
data/lib/oa-vkontakte/version.rb
CHANGED
|
@@ -22,16 +22,21 @@ module OmniAuth
|
|
|
22
22
|
HEADER
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
def vkontakte_login_button
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
def vkontakte_login_button control = nil
|
|
26
|
+
default_control = false
|
|
27
|
+
control ||= begin
|
|
28
|
+
default_control = true
|
|
29
|
+
'<div id="vk_login" onclick="vkLogin.doLogin();"></div>'
|
|
30
|
+
end
|
|
31
|
+
button= <<-BUTTON
|
|
32
|
+
<div id="vk_api_transport" style="float:left"></div>
|
|
28
33
|
<script type="text/javascript">
|
|
29
34
|
window.vkAsyncInit = function() {
|
|
30
35
|
VK.init({
|
|
31
36
|
apiId: '#{OmniAuth.config.vkontakte_app_id}',
|
|
32
37
|
nameTransportPath: "/xd_receiver.html"
|
|
33
38
|
});
|
|
34
|
-
VK.UI.button('vk_login');
|
|
39
|
+
#{ "VK.UI.button('vk_login');" if default_control }
|
|
35
40
|
};
|
|
36
41
|
vkLogin = {
|
|
37
42
|
doLogin: function() {
|
|
@@ -114,8 +119,9 @@ HEADER
|
|
|
114
119
|
document.getElementById("vk_api_transport").appendChild(el);
|
|
115
120
|
}());
|
|
116
121
|
</script>
|
|
117
|
-
|
|
122
|
+
#{ control }
|
|
118
123
|
BUTTON
|
|
124
|
+
button.respond_to?(:html_safe) ? button.html_safe : button
|
|
119
125
|
end
|
|
120
126
|
|
|
121
127
|
def vkontakte_footer
|
|
@@ -34,8 +34,6 @@ module OmniAuth
|
|
|
34
34
|
sig_index = args.index { |arg| arg =~ /^sig=/ }
|
|
35
35
|
return fail!(:invalid_credentials) unless sig_index
|
|
36
36
|
sig = args.delete_at(sig_index)
|
|
37
|
-
puts Digest::MD5.new.hexdigest(args.sort.join('') + OmniAuth.config.vkontakte_app_key)
|
|
38
|
-
puts sig
|
|
39
37
|
return fail!(:invalid_credentials) unless Digest::MD5.new.hexdigest(args.sort.join('') + OmniAuth.config.vkontakte_app_key) == sig[4..-1]
|
|
40
38
|
super
|
|
41
39
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: oa-vkontakte
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
segments:
|
|
7
|
-
- 0
|
|
8
|
-
- 2
|
|
9
|
-
- 0
|
|
10
|
-
version: 0.2.0
|
|
4
|
+
prerelease:
|
|
5
|
+
version: 0.2.1
|
|
11
6
|
platform: ruby
|
|
12
7
|
authors:
|
|
13
8
|
- Nick Recobra
|
|
@@ -15,7 +10,7 @@ autorequire:
|
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
12
|
|
|
18
|
-
date: 2011-
|
|
13
|
+
date: 2011-03-06 00:00:00 +03:00
|
|
19
14
|
default_executable:
|
|
20
15
|
dependencies:
|
|
21
16
|
- !ruby/object:Gem::Dependency
|
|
@@ -26,11 +21,6 @@ dependencies:
|
|
|
26
21
|
requirements:
|
|
27
22
|
- - ">="
|
|
28
23
|
- !ruby/object:Gem::Version
|
|
29
|
-
hash: 23
|
|
30
|
-
segments:
|
|
31
|
-
- 0
|
|
32
|
-
- 1
|
|
33
|
-
- 6
|
|
34
24
|
version: 0.1.6
|
|
35
25
|
type: :runtime
|
|
36
26
|
version_requirements: *id001
|
|
@@ -42,11 +32,6 @@ dependencies:
|
|
|
42
32
|
requirements:
|
|
43
33
|
- - ~>
|
|
44
34
|
- !ruby/object:Gem::Version
|
|
45
|
-
hash: 11
|
|
46
|
-
segments:
|
|
47
|
-
- 2
|
|
48
|
-
- 1
|
|
49
|
-
- 0
|
|
50
35
|
version: 2.1.0
|
|
51
36
|
type: :development
|
|
52
37
|
version_requirements: *id002
|
|
@@ -58,9 +43,6 @@ dependencies:
|
|
|
58
43
|
requirements:
|
|
59
44
|
- - ">="
|
|
60
45
|
- !ruby/object:Gem::Version
|
|
61
|
-
hash: 3
|
|
62
|
-
segments:
|
|
63
|
-
- 0
|
|
64
46
|
version: "0"
|
|
65
47
|
type: :development
|
|
66
48
|
version_requirements: *id003
|
|
@@ -72,11 +54,6 @@ dependencies:
|
|
|
72
54
|
requirements:
|
|
73
55
|
- - ~>
|
|
74
56
|
- !ruby/object:Gem::Version
|
|
75
|
-
hash: 7
|
|
76
|
-
segments:
|
|
77
|
-
- 0
|
|
78
|
-
- 5
|
|
79
|
-
- 6
|
|
80
57
|
version: 0.5.6
|
|
81
58
|
type: :development
|
|
82
59
|
version_requirements: *id004
|
|
@@ -117,23 +94,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
117
94
|
requirements:
|
|
118
95
|
- - ">="
|
|
119
96
|
- !ruby/object:Gem::Version
|
|
120
|
-
hash: 3
|
|
121
|
-
segments:
|
|
122
|
-
- 0
|
|
123
97
|
version: "0"
|
|
124
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
99
|
none: false
|
|
126
100
|
requirements:
|
|
127
101
|
- - ">="
|
|
128
102
|
- !ruby/object:Gem::Version
|
|
129
|
-
hash: 3
|
|
130
|
-
segments:
|
|
131
|
-
- 0
|
|
132
103
|
version: "0"
|
|
133
104
|
requirements: []
|
|
134
105
|
|
|
135
106
|
rubyforge_project: oa-vkontakte
|
|
136
|
-
rubygems_version: 1.
|
|
107
|
+
rubygems_version: 1.5.2
|
|
137
108
|
signing_key:
|
|
138
109
|
specification_version: 3
|
|
139
110
|
summary: OmniAuth extension for vkontakte.ru authentication
|