omniauth-yandex 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 +9 -3
- data/lib/omniauth-yandex/version.rb +1 -1
- data/lib/omniauth/strategies/yandex.rb +19 -33
- data/omniauth-yandex.gemspec +1 -2
- metadata +60 -53
- data/.rspec +0 -1
- data/.travis.yml +0 -5
data/README.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
-
# OmniAuth
|
1
|
+
# Yandex OAuth strategy for OmniAuth
|
2
2
|
|
3
|
-
This gem contains the unofficial Yandex
|
3
|
+
This gem contains the unofficial Yandex OAuth2 strategy for [OmniAuth](http://github.com/intridea/omniauth).
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
gem "omniauth-yandex"
|
8
|
+
|
9
|
+
Also, you have to obtain API key for your app at Yandex [OAuth app registration page](https://oauth.yandex.ru/client/new)
|
4
10
|
|
5
11
|
## Basic Usage
|
6
12
|
|
@@ -15,4 +21,4 @@ This gem contains the unofficial Yandex.ru OAuth2 strategy for [OmniAuth](http:/
|
|
15
21
|
|
16
22
|
## License
|
17
23
|
|
18
|
-
Copyright (c) 2011 by Kirill Shatrov
|
24
|
+
Copyright (c) 2011 by Kirill Shatrov, [Evrone.com](http://evrone.com/)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'omniauth/strategies/oauth2'
|
2
|
-
require '
|
2
|
+
require 'json'
|
3
3
|
|
4
4
|
module OmniAuth
|
5
5
|
module Strategies
|
@@ -16,25 +16,18 @@ module OmniAuth
|
|
16
16
|
:authorize_url => '/authorize'
|
17
17
|
}
|
18
18
|
|
19
|
-
uid
|
20
|
-
raw_info[:uid]
|
21
|
-
end
|
19
|
+
uid { raw_info['id'] }
|
22
20
|
|
23
|
-
|
24
|
-
{
|
25
|
-
:nickname => raw_info[:name],
|
26
|
-
:email => raw_info[:email],
|
27
|
-
:name => raw_info[:name],
|
28
|
-
:image => raw_info[:photo],
|
29
|
-
:location => raw_info[:country],
|
30
|
-
:urls => {
|
31
|
-
'Yandex' => raw_info[:yaru_profile]
|
32
|
-
}
|
33
|
-
}
|
21
|
+
extra do
|
22
|
+
prune!({:raw_info => raw_info})
|
34
23
|
end
|
35
24
|
|
36
|
-
|
37
|
-
{
|
25
|
+
info do
|
26
|
+
prune!({
|
27
|
+
'nickname' => raw_info['display_name'],
|
28
|
+
'email' => raw_info['default_email'],
|
29
|
+
'name' => raw_info['real_name']
|
30
|
+
})
|
38
31
|
end
|
39
32
|
|
40
33
|
def callback_url
|
@@ -47,26 +40,19 @@ module OmniAuth
|
|
47
40
|
|
48
41
|
private
|
49
42
|
|
43
|
+
def prune!(hash)
|
44
|
+
hash.delete_if do |_, value|
|
45
|
+
prune!(value) if value.is_a?(Hash)
|
46
|
+
value.nil? || (value.respond_to?(:empty?) && value.empty?)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
50
|
def raw_info
|
51
51
|
@raw_info ||= begin
|
52
|
-
# Get user info from
|
53
|
-
|
54
|
-
xml_data = access_token.get("https://api-yaru.yandex.ru/me/").body
|
55
|
-
data = XmlSimple.xml_in(xml_data)
|
56
|
-
{
|
57
|
-
:uid => data["id"][0],
|
58
|
-
:yaru_profile => data["link"][0]["href"],
|
59
|
-
:photo => data["link"][2]["href"],
|
60
|
-
:name => data["name"][0],
|
61
|
-
:email => data["email"][0],
|
62
|
-
:country => data["country"][0],
|
63
|
-
:city => data["city"][0],
|
64
|
-
:sex => data["sex"][0],
|
65
|
-
:skype => data["skype"][0]
|
66
|
-
}
|
52
|
+
# Get user info from Yandex.login API
|
53
|
+
JSON.parse access_token.get("https://login.yandex.ru/info?format=json").body
|
67
54
|
end
|
68
55
|
end
|
69
|
-
|
70
56
|
end
|
71
57
|
end
|
72
58
|
end
|
data/omniauth-yandex.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.version = Omniauth::Yandex::VERSION
|
7
7
|
s.authors = ["Kir Shatrov"]
|
8
8
|
s.email = ["shatrov@me.com"]
|
9
|
-
s.homepage = "https://github.com/
|
9
|
+
s.homepage = "https://github.com/evrone/omniauth-yandex"
|
10
10
|
s.summary = %q{OmniAuth strategy for Yandex.ru}
|
11
11
|
s.description = %q{OmniAuth strategy for Yandex.ru}
|
12
12
|
|
@@ -19,5 +19,4 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.add_dependency 'omniauth', '~> 1.0'
|
21
21
|
s.add_dependency 'omniauth-oauth2', '~> 1.0'
|
22
|
-
s.add_dependency 'xml-simple'
|
23
22
|
end
|
metadata
CHANGED
@@ -1,59 +1,59 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-yandex
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Kir Shatrov
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2012-10-21 00:00:00 +03:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: omniauth
|
16
|
-
requirement: &70210863807100 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.0'
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
name: omniauth-oauth2
|
27
|
-
requirement: &70210863805020 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
30
25
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 0
|
30
|
+
version: "1.0"
|
33
31
|
type: :runtime
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: omniauth-oauth2
|
34
35
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
version: '0'
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 1
|
42
|
+
- 0
|
43
|
+
version: "1.0"
|
44
44
|
type: :runtime
|
45
|
-
|
46
|
-
version_requirements: *70210863803400
|
45
|
+
version_requirements: *id002
|
47
46
|
description: OmniAuth strategy for Yandex.ru
|
48
|
-
email:
|
47
|
+
email:
|
49
48
|
- shatrov@me.com
|
50
49
|
executables: []
|
50
|
+
|
51
51
|
extensions: []
|
52
|
+
|
52
53
|
extra_rdoc_files: []
|
53
|
-
|
54
|
+
|
55
|
+
files:
|
54
56
|
- .gitignore
|
55
|
-
- .rspec
|
56
|
-
- .travis.yml
|
57
57
|
- Gemfile
|
58
58
|
- README.md
|
59
59
|
- Rakefile
|
@@ -61,28 +61,35 @@ files:
|
|
61
61
|
- lib/omniauth-yandex/version.rb
|
62
62
|
- lib/omniauth/strategies/yandex.rb
|
63
63
|
- omniauth-yandex.gemspec
|
64
|
-
|
64
|
+
has_rdoc: true
|
65
|
+
homepage: https://github.com/evrone/omniauth-yandex
|
65
66
|
licenses: []
|
67
|
+
|
66
68
|
post_install_message:
|
67
69
|
rdoc_options: []
|
68
|
-
|
70
|
+
|
71
|
+
require_paths:
|
69
72
|
- lib
|
70
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
requirements:
|
79
|
-
- -
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
version: "0"
|
82
87
|
requirements: []
|
88
|
+
|
83
89
|
rubyforge_project: omniauth-yandex
|
84
|
-
rubygems_version: 1.
|
90
|
+
rubygems_version: 1.3.6
|
85
91
|
signing_key:
|
86
92
|
specification_version: 3
|
87
93
|
summary: OmniAuth strategy for Yandex.ru
|
88
94
|
test_files: []
|
95
|
+
|
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--colour
|