omniauth-zooniverse 0.0.3 → 0.0.5
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.
- checksums.yaml +5 -5
- data/Dockerfile +17 -0
- data/README.md +33 -5
- data/docker-compose.yml +11 -0
- data/lib/omniauth/strategies/zooniverse.rb +10 -4
- data/lib/omniauth/zooniverse/version.rb +1 -1
- data/omniauth-zooniverse.gemspec +5 -1
- metadata +26 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7d0e4f78c04a2c5243229b4472cbafaf4311f4c1690f5448abafac937ffa2e1f
|
4
|
+
data.tar.gz: 5bf7ca3fd2818de7b4fa8bf1be3caf9a3f7dcaef4c9a42801fa04e0329adb5a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6a9811615985172d7cfb13ae291aa580785178ed2e0b9300968d2e64233f2c6641cad8044bff4a9d420be6a8d9febb3a948b63f66bc28c956e06cecbe460441
|
7
|
+
data.tar.gz: a1945f4ddf319383c41f43dc0af50000cd0481d62be798959dc0c01e5a639aaed9bdca03db7ed45397e8d27d57c419f9738d1c02a51f3f118908ed9bd311b358
|
data/Dockerfile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
FROM ruby:3-slim
|
2
|
+
|
3
|
+
WORKDIR /app
|
4
|
+
|
5
|
+
RUN apt-get update && apt-get -y upgrade && \
|
6
|
+
apt-get install --no-install-recommends -y \
|
7
|
+
#build-essential \
|
8
|
+
# git is required for installing gems
|
9
|
+
git
|
10
|
+
|
11
|
+
ADD ./Gemfile /app/
|
12
|
+
ADD ./Gemfile.lock /app/
|
13
|
+
ADD ./omniauth-zooniverse.gemspec /app/
|
14
|
+
ADD ./ /app
|
15
|
+
|
16
|
+
RUN bundle config --global jobs `cat /proc/cpuinfo | grep processor | wc -l | xargs -I % expr % - 1`
|
17
|
+
RUN bundle install
|
data/README.md
CHANGED
@@ -1,24 +1,52 @@
|
|
1
1
|
# Omniauth::Zooniverse
|
2
2
|
|
3
|
-
|
3
|
+
OmniAuth oAuth strategy for the Zooniverse.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
9
|
-
|
9
|
+
```ruby
|
10
|
+
gem 'omniauth-zooniverse'
|
11
|
+
```
|
10
12
|
|
11
13
|
And then execute:
|
12
14
|
|
13
|
-
|
15
|
+
```shell
|
16
|
+
$ bundle install
|
17
|
+
```
|
14
18
|
|
15
19
|
Or install it yourself as:
|
16
20
|
|
17
|
-
|
21
|
+
```shell
|
22
|
+
$ gem install omniauth-zooniverse
|
23
|
+
```
|
18
24
|
|
19
25
|
## Usage
|
20
26
|
|
21
|
-
|
27
|
+
Configure the strategy in `config/initializers/omniauth.rb`:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
Rails.application.config.middleware.use OmniAuth::Builder do
|
31
|
+
provider :zooniverse, ENV['ZOONIVERSE_APP_ID'], ENV['ZOONIVERSE_APP_SECRET']
|
32
|
+
end
|
33
|
+
```
|
34
|
+
|
35
|
+
Refer to the docs for more information on how to use omniauth in your app, https://github.com/intridea/omniauth#integrating-omniauth-into-your-application
|
36
|
+
|
37
|
+
## Development
|
38
|
+
|
39
|
+
Use docker & compose to setup the dev env
|
40
|
+
|
41
|
+
```shell
|
42
|
+
$ docker-compose build
|
43
|
+
```
|
44
|
+
|
45
|
+
Run a bash shell inside the new container
|
46
|
+
|
47
|
+
```shell
|
48
|
+
$ docker-compose run --service-ports --rm -e omniauth-zooniverse bash
|
49
|
+
```
|
22
50
|
|
23
51
|
## Contributing
|
24
52
|
|
data/docker-compose.yml
ADDED
@@ -12,7 +12,7 @@ module OmniAuth
|
|
12
12
|
option :client_options, {
|
13
13
|
:site => "https://panoptes.zooniverse.org",
|
14
14
|
:authorize_url => "/oauth/authorize",
|
15
|
-
:scope =>
|
15
|
+
:scope => DEFAULT_SCOPE
|
16
16
|
}
|
17
17
|
|
18
18
|
uid { raw_info["id"] }
|
@@ -36,14 +36,20 @@ module OmniAuth
|
|
36
36
|
info do
|
37
37
|
{
|
38
38
|
:email => raw_info["email"],
|
39
|
-
:name => raw_info["display_name"]
|
39
|
+
:name => raw_info["display_name"],
|
40
|
+
:zooniverse_id => raw_info["zooniverse_id"]
|
40
41
|
}
|
41
42
|
end
|
42
43
|
|
43
44
|
|
44
45
|
def raw_info
|
45
|
-
|
46
|
-
|
46
|
+
return @raw_info if @raw_info
|
47
|
+
token_response = access_token.get(
|
48
|
+
'/api/me',
|
49
|
+
headers: {'Accept' => "application/vnd.api+json; version=1"}
|
50
|
+
)
|
51
|
+
raw = JSON.parse(token_response.body)
|
52
|
+
@raw_info = raw["users"][0]
|
47
53
|
end
|
48
54
|
end
|
49
55
|
end
|
data/omniauth-zooniverse.gemspec
CHANGED
@@ -4,6 +4,10 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'omniauth/zooniverse/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
+
# https://github.com/intridea/omniauth-oauth2/issues/81
|
8
|
+
# 1.4.0 has a bug that prevents login
|
9
|
+
spec.add_dependency "omniauth-oauth2", ">= 1.7"
|
10
|
+
|
7
11
|
spec.name = "omniauth-zooniverse"
|
8
12
|
spec.version = Omniauth::Zooniverse::VERSION
|
9
13
|
spec.authors = ["Stuart Lynn"]
|
@@ -18,6 +22,6 @@ Gem::Specification.new do |spec|
|
|
18
22
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
23
|
spec.require_paths = ["lib"]
|
20
24
|
|
21
|
-
spec.add_development_dependency "bundler", "
|
25
|
+
spec.add_development_dependency "bundler", ">= 2.2.10"
|
22
26
|
spec.add_development_dependency "rake"
|
23
27
|
end
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-zooniverse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stuart Lynn
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: omniauth-oauth2
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.7'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - "
|
31
|
+
- - ">="
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
33
|
+
version: 2.2.10
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - "
|
38
|
+
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: 2.2.10
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,10 +61,12 @@ extensions: []
|
|
47
61
|
extra_rdoc_files: []
|
48
62
|
files:
|
49
63
|
- ".gitignore"
|
64
|
+
- Dockerfile
|
50
65
|
- Gemfile
|
51
66
|
- LICENSE.txt
|
52
67
|
- README.md
|
53
68
|
- Rakefile
|
69
|
+
- docker-compose.yml
|
54
70
|
- lib/omniauth-zooniverse.rb
|
55
71
|
- lib/omniauth/strategies/zooniverse.rb
|
56
72
|
- lib/omniauth/zooniverse.rb
|
@@ -60,7 +76,7 @@ homepage: https://github.com/zooniverse/omniauth-zooniverse
|
|
60
76
|
licenses:
|
61
77
|
- MIT
|
62
78
|
metadata: {}
|
63
|
-
post_install_message:
|
79
|
+
post_install_message:
|
64
80
|
rdoc_options: []
|
65
81
|
require_paths:
|
66
82
|
- lib
|
@@ -75,9 +91,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
91
|
- !ruby/object:Gem::Version
|
76
92
|
version: '0'
|
77
93
|
requirements: []
|
78
|
-
|
79
|
-
|
80
|
-
signing_key:
|
94
|
+
rubygems_version: 3.3.7
|
95
|
+
signing_key:
|
81
96
|
specification_version: 4
|
82
97
|
summary: Provides an OAuth2.0 strategy for the zooniverse
|
83
98
|
test_files: []
|