omniauth-twitch 1.0.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE.txt +1 -1
- data/README.md +21 -23
- data/lib/omniauth/strategies/twitch.rb +10 -2
- data/lib/omniauth/twitch/version.rb +1 -1
- data/omniauth-twitch.gemspec +4 -4
- metadata +13 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b268722aef004621781a7ffa006454b0bb28c75f6795ff047f19a8f1ea710e35
|
4
|
+
data.tar.gz: fff97d477cb6c0c73b46ecd59b4c5961301b435aa918dadd432e03168cfc5f08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc77dc2a7a3606cf7b9e8b62c692f4ccab9bf2637b0052cbac6cd3214f8f633a30d0a52d4bc2b138f6fdb10adf23d1b683a6f7794fe799d50bc75a6cf982d4fe
|
7
|
+
data.tar.gz: b584d9a832cd3c19ac665177599cae446495f430ad4601df8643c0f2ed6c6d62d7673992fcc706f1479b563030c1a5c8985ef56faf751065c44767420b3db1f3
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,21 +2,16 @@
|
|
2
2
|
|
3
3
|
# OmniAuth::Twitch
|
4
4
|
|
5
|
-
A OmniAuth strategy for Twitch
|
5
|
+
A OmniAuth strategy for Twitch
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
|
-
Add
|
9
|
+
Add the OmniAuth Twitch and OmniAuth gem rails_csrf_protection gems to your Gemfile
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
$ bundle
|
16
|
-
|
17
|
-
Or install it yourself as:
|
18
|
-
|
19
|
-
$ gem install omniauth-twitch
|
11
|
+
```ruby
|
12
|
+
gem 'omniauth-twitch'
|
13
|
+
gem 'omniauth-rails_csrf_protection'
|
14
|
+
```
|
20
15
|
|
21
16
|
## Usage
|
22
17
|
|
@@ -35,31 +30,34 @@ Here's an example *Auth Hash* available in `request.env['omniauth.auth']`:
|
|
35
30
|
```ruby
|
36
31
|
{
|
37
32
|
provider: 'twitch',
|
38
|
-
uid: 12345678,
|
33
|
+
uid: '12345678',
|
39
34
|
info: {
|
40
35
|
name: 'JohnDoe',
|
41
36
|
email: 'johndoe@gmail.com',
|
42
37
|
nickname: 'johndoe',
|
43
38
|
description: 'My channel.',
|
44
39
|
image: 'http://static-cdn.jtvnw.net/jtv-static/404_preview-300x300.png',
|
40
|
+
urls: {
|
41
|
+
Twitch: 'http://www.twitch.tv/johndoe'
|
42
|
+
}
|
45
43
|
},
|
46
44
|
credentials: {
|
47
45
|
token: 'asdfghjklasdfghjklasdfghjkl', # OAuth 2.0 access_token, which you may wish to store
|
48
|
-
expires: false # this will always be false
|
46
|
+
expires: false # this will always be false,
|
47
|
+
refresh_token: 'asdschbjh24h23yfsjfhbsjdc3a' # OAuth 2.0 refresh token, to renew the access token when it expires
|
49
48
|
},
|
50
49
|
extra: {
|
51
50
|
raw_info: {
|
52
51
|
display_name: 'JohnDoe',
|
53
|
-
|
54
|
-
|
55
|
-
type: '
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
email:'johdoe@gmail.com'
|
62
|
-
partnered:false
|
52
|
+
id: '12345678',
|
53
|
+
login: 'johndoe',
|
54
|
+
type: '',
|
55
|
+
broadcaster_type: '',
|
56
|
+
description: 'My channel.',
|
57
|
+
profile_image_url: 'https://static-cdn.jtvnw.net/user-default-pictures/0ecbb6c3-fecb-4016-8115-aa467b7c36ed-profile_image-300x300.jpg',
|
58
|
+
offline_image_url: '',
|
59
|
+
view_count: 100500,
|
60
|
+
email: 'johdoe@gmail.com'
|
63
61
|
}
|
64
62
|
}
|
65
63
|
}
|
@@ -10,7 +10,8 @@ module OmniAuth
|
|
10
10
|
option :client_options, {
|
11
11
|
site: "https://id.twitch.tv",
|
12
12
|
authorize_url: "/oauth2/authorize",
|
13
|
-
token_url: "/oauth2/token"
|
13
|
+
token_url: "/oauth2/token",
|
14
|
+
auth_scheme: :request_body
|
14
15
|
}
|
15
16
|
|
16
17
|
option :access_token_options, {
|
@@ -20,6 +21,12 @@ module OmniAuth
|
|
20
21
|
|
21
22
|
option :authorize_options, [:scope]
|
22
23
|
|
24
|
+
def request_phase
|
25
|
+
redirect client.auth_code.
|
26
|
+
authorize_url({ redirect_uri: callback_url }.merge(authorize_params)).
|
27
|
+
gsub(/%2[b,B]/, "+")
|
28
|
+
end
|
29
|
+
|
23
30
|
credentials do
|
24
31
|
hash = { "token" => access_token.token }
|
25
32
|
if access_token.refresh_token
|
@@ -51,7 +58,8 @@ module OmniAuth
|
|
51
58
|
|
52
59
|
def raw_info
|
53
60
|
@raw_info ||=
|
54
|
-
access_token.get("https://api.twitch.tv/helix/users"
|
61
|
+
access_token.get("https://api.twitch.tv/helix/users",
|
62
|
+
headers: { "Client-ID" => client.id }).parsed.
|
55
63
|
fetch("data").fetch(0)
|
56
64
|
end
|
57
65
|
|
data/omniauth-twitch.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'omniauth/twitch/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "omniauth-twitch"
|
8
8
|
spec.version = OmniAuth::Twitch::VERSION
|
9
|
-
spec.authors = ["Jonathan Gertig (Webtheory)
|
10
|
-
spec.email = ["jcgertig@gmail.com
|
9
|
+
spec.authors = ["Dean Perry", "Jonathan Gertig (Webtheory)", "William Holt (Webtheory)"]
|
10
|
+
spec.email = ["dean@deanpcmad.com", "jcgertig@gmail.com", "sithtoast@gmail.com"]
|
11
11
|
spec.summary = 'Twitch OAuth2 Strategy for OmniAuth'
|
12
12
|
spec.homepage = "https://github.com/WebTheoryLLC/omniauth-twitch"
|
13
13
|
spec.license = "MIT"
|
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_runtime_dependency 'omniauth-oauth2', '~> 1.
|
20
|
+
spec.add_runtime_dependency 'omniauth-oauth2', '~> 1.6'
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~> 1
|
22
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
23
23
|
spec.add_development_dependency "rake"
|
24
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-twitch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Dean Perry
|
8
|
+
- Jonathan Gertig (Webtheory)
|
9
|
+
- William Holt (Webtheory)
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date:
|
13
|
+
date: 2022-10-28 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: omniauth-oauth2
|
@@ -16,28 +18,28 @@ dependencies:
|
|
16
18
|
requirements:
|
17
19
|
- - "~>"
|
18
20
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
21
|
+
version: '1.6'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
26
|
- - "~>"
|
25
27
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
28
|
+
version: '1.6'
|
27
29
|
- !ruby/object:Gem::Dependency
|
28
30
|
name: bundler
|
29
31
|
requirement: !ruby/object:Gem::Requirement
|
30
32
|
requirements:
|
31
33
|
- - "~>"
|
32
34
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
35
|
+
version: '2.1'
|
34
36
|
type: :development
|
35
37
|
prerelease: false
|
36
38
|
version_requirements: !ruby/object:Gem::Requirement
|
37
39
|
requirements:
|
38
40
|
- - "~>"
|
39
41
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
42
|
+
version: '2.1'
|
41
43
|
- !ruby/object:Gem::Dependency
|
42
44
|
name: rake
|
43
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,7 +56,9 @@ dependencies:
|
|
54
56
|
version: '0'
|
55
57
|
description:
|
56
58
|
email:
|
57
|
-
-
|
59
|
+
- dean@deanpcmad.com
|
60
|
+
- jcgertig@gmail.com
|
61
|
+
- sithtoast@gmail.com
|
58
62
|
executables: []
|
59
63
|
extensions: []
|
60
64
|
extra_rdoc_files: []
|
@@ -88,8 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
92
|
- !ruby/object:Gem::Version
|
89
93
|
version: '0'
|
90
94
|
requirements: []
|
91
|
-
|
92
|
-
rubygems_version: 2.6.14
|
95
|
+
rubygems_version: 3.3.7
|
93
96
|
signing_key:
|
94
97
|
specification_version: 4
|
95
98
|
summary: Twitch OAuth2 Strategy for OmniAuth
|