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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 467fff8d5046ffee666ee9b6702440b250b1ee9a
4
- data.tar.gz: 52c1e0666e889633a4a3a67a9ff269464f54f577
2
+ SHA256:
3
+ metadata.gz: 7d0e4f78c04a2c5243229b4472cbafaf4311f4c1690f5448abafac937ffa2e1f
4
+ data.tar.gz: 5bf7ca3fd2818de7b4fa8bf1be3caf9a3f7dcaef4c9a42801fa04e0329adb5a4
5
5
  SHA512:
6
- metadata.gz: bfa0d4d1f0051fb998b77c8ffc5d712229bd31b6a31c0896927da6718f7fe384b3bf432b12f2ce961f645d18b0a623b867fdcd3b1feade3b378b921f1c80ffbb
7
- data.tar.gz: 0de9d3ef5f99e72df2c1db2fa1ffded1fda20e9fbb9cd06a80a0cb8a4cf72a339d07e92f0c3e678e97145ae798d51184a0e58a99222f915f21a1593169c4b3b4
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
- TODO: Write a gem description
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
- gem 'omniauth-zooniverse'
9
+ ```ruby
10
+ gem 'omniauth-zooniverse'
11
+ ```
10
12
 
11
13
  And then execute:
12
14
 
13
- $ bundle
15
+ ```shell
16
+ $ bundle install
17
+ ```
14
18
 
15
19
  Or install it yourself as:
16
20
 
17
- $ gem install omniauth-zooniverse
21
+ ```shell
22
+ $ gem install omniauth-zooniverse
23
+ ```
18
24
 
19
25
  ## Usage
20
26
 
21
- TODO: Write usage instructions here
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
 
@@ -0,0 +1,11 @@
1
+ version: '3'
2
+ services:
3
+ omniauth-zooniverse:
4
+ build:
5
+ context: .
6
+ volumes:
7
+ - ./:/app
8
+ - gem_cache:/usr/local/bundle
9
+
10
+ volumes:
11
+ gem_cache:
@@ -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 => "user, public"
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
- raw = JSON.parse(access_token.get('/api/me', headers: {'Accept' => "application/vnd.api+json; version=1"}).body)
46
- @raw_info ||= raw["users"][0]
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
@@ -1,5 +1,5 @@
1
1
  module Omniauth
2
2
  module Zooniverse
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -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", "~> 1.5"
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.3
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: 2015-10-05 00:00:00.000000000 Z
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: '1.5'
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: '1.5'
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
- rubyforge_project:
79
- rubygems_version: 2.4.5.1
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: []