omniauth-bike-index 0.1.0 → 1.0.4

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: df30b257d96047b03e1d60869233c69ee293bbb0
4
- data.tar.gz: ff7734850c1f426614774c7d798a7e54dde7d1c3
2
+ SHA256:
3
+ metadata.gz: ed476813826660c5afabb02e43fc77d9a423ed63dd9eeeb0864c2fd256876a46
4
+ data.tar.gz: 161e4b546c49eaa0e54728593d3d597e1ec0372374615d9a9fed19e5d4256083
5
5
  SHA512:
6
- metadata.gz: 747feadbb1ed8d937b44f583119d338186e66f4182d319b32691ecc28d67ca8eb3b9e8c0d14d93dc9a5a71ee8a279f4202ecf0c903c1c84c460d11069108d6cd
7
- data.tar.gz: 7693d9b2c71430dee0dde1c7ea011c1d21f7751be888acaf62052ba7439f79416307f629e619b7245f4cad1133d70839b69deccb120b74d7851d4780c02ea365
6
+ metadata.gz: b19d2b3b2d040381ddba62e61ce7db388f54396958353f8c48f07597864fcf35c446aaf3948f83a48769910add600f91186f67c9a28322a62e576e0fd43a8742
7
+ data.tar.gz: 990b71281d87975209be63f652e261fb24d2ec304c3b0217e1dc98ef1f7604a1f0f48bfd2ce177bc6f14b98fa90fc45a89106ebe6917080f642aa29029377f00
@@ -2,16 +2,13 @@ bundler_args: --without development
2
2
  gemfile:
3
3
  - Gemfile
4
4
  language: ruby
5
+ before_install:
6
+ - gem install bundler
7
+ - gem update bundler
5
8
  rvm:
6
- - 1.9.2
7
- - 1.9.3
8
- - 2.0.0
9
- - 2.1.0
10
- - rbx-2
11
- - ruby-head
12
- - jruby-19mode
9
+ - 2.3.0
10
+ - 2.5.8
13
11
  - jruby-head
14
12
  matrix:
15
13
  allow_failures:
16
14
  - rvm: jruby-head
17
- - rvm: ruby-head
data/Gemfile CHANGED
@@ -1,12 +1,10 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
- gem 'rake'
3
+ gem "rake"
4
4
 
5
5
  group :test do
6
- gem 'rspec', '~> 2.7'
7
- gem 'guard'
8
- gem 'guard-rspec', '4.2.8'
9
- gem 'guard-livereload'
6
+ gem "standard"
7
+ gem "rspec"
10
8
  end
11
9
 
12
10
  gemspec
data/README.md CHANGED
@@ -1,11 +1,9 @@
1
- OmniAuth::BikeIndex
2
- ==============
1
+ # OmniAuth::BikeIndex [![Build Status](https://travis-ci.org/bikeindex/omniauth-bike-index.svg?branch=master)](https://travis-ci.org/bikeindex/omniauth-bike-index)
3
2
 
4
3
  Bike Index OAuth2 Strategy for OmniAuth 1.0.
5
4
 
6
5
  Supports the OAuth 2.0 server-side and client-side flows.
7
6
 
8
-
9
7
  ## Creating an application
10
8
 
11
9
  To be able to use OAuth on the Bike Index, you have to create an application. Go to [BikeIndex.org/oauth/applications](https://bikeindex.org/oauth/applications) to add your application.
@@ -14,8 +12,7 @@ Once you've added your application and your routes, you'll be able to see your A
14
12
 
15
13
  **Note**: Callback url has to be an exact match - if your url is `http://localhost:3001/users/auth/bike_index/callback` you _must_ enter that exactly - `http://localhost:3001/users/auth/` will not work.
16
14
 
17
-
18
- Check out **[API V2 Documentation](https://bikeindex.org/documentation/api_v2)** to see what can be done with authenticated users.
15
+ Check out the **[Bike Index API Documentation](https://bikeindex.org/documentation)** to see what can be done with authenticated users.
19
16
 
20
17
  ## Usage
21
18
 
@@ -36,17 +33,16 @@ Your `BIKEINDEX_APP_ID` and your `BIKEINDEX_APP_SECRET` are both application spe
36
33
 
37
34
  Edit your routes.rb file to have:
38
35
 
39
- `devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks" }`
36
+ `devise_for :users, controllers: { omniauth_callbacks: 'omniauth_callbacks' }`
40
37
 
41
38
  And create a file called `omniauth_callbacks_controller.rb` which should have this inside:
42
39
 
43
40
  ```ruby
44
41
  class OmniauthCallbacksController < Devise::OmniauthCallbacksController
45
-
46
42
  def bike_index
47
43
  # Delete the code inside of this method and write your own.
48
44
  # The code below is to show you where to access the data.
49
- raise request.env["omniauth.auth"].to_json
45
+ raise request.env['omniauth.auth'].to_json
50
46
  end
51
47
  end
52
48
  ```
@@ -63,20 +59,17 @@ end
63
59
 
64
60
  Available scopes: `read_user`, `write_user`, `read_bikes`, `write_bikes`
65
61
 
66
-
67
62
  ## Credentials
68
63
 
69
64
  If you don't include a scope, the response will include a `uid` from Bike Index for the user and nothing else.
70
65
 
71
66
  If you include the `read_bikes` scope, the response will include an array of the ids the user has registered on the Index `bike_ids: [3414, 29367]`
72
67
 
73
- You can use these IDs to access information about the bikes - e.g. [BikeIndex.org/api/v1/bikes/3414](https://bikeindex.org/api/v1/bikes/3414) & [/api/v1/bikes/29367](https://bikeindex.org/api/v1/bikes/29367)
68
+ You can use these IDs to access information about the bikes - e.g. [api/v3/bikes/3414](https://bikeindex.org/api/v3/bikes/3414) & [api/v3/bikes/29367](https://bikeindex.org/api/v3/bikes/29367)
74
69
 
75
- If you include the `read_user` scope, the response will include the user's nickname, email and name. You will also see their twitter handle and avatar if they have added them. The keys for these items -
70
+ If you include the `read_user` scope, the response will include the user's nickname, email and name. You will also see their twitter handle and avatar if they have added them. The keys for these items -
76
71
  `nickname`, `email`, `name`, `twitter` & `image` - all accessible in the `request.env['omniauth.auth']`, e.g. `request.env['omniauth.auth'].info.email`
77
72
 
78
-
79
73
  ## Auth Hash
80
74
 
81
- You can also see the authetication hash (in JSON format) by going to the authentication url on the Bike Index with the user's access token - `https://bikeindex.org/api/v2/users/current?access_token=<OAUTH_ACCESS_TOKEN>`
82
-
75
+ You can also see the authetication hash (in JSON format) by going to the authentication url on the Bike Index with the user's access token - `https://bikeindex.org/api/v3/me?access_token=<OAUTH_ACCESS_TOKEN>`
data/Rakefile CHANGED
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env rake
2
- require 'bundler/gem_tasks'
3
- require 'rspec/core/rake_task'
4
- RSpec::Core::RakeTask.new(:spec)
2
+ require "bundler/gem_tasks"
3
+ require "rspec/core/rake_task"
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task test: :spec
7
+ task default: :spec
@@ -1,2 +1,2 @@
1
- require 'omniauth/bike_index/version'
2
- require 'omniauth/strategies/bike_index'
1
+ require "omniauth/bike_index/version"
2
+ require "omniauth/strategies/bike_index"
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module BikeIndex
3
- VERSION = '0.1.0'
3
+ VERSION = "1.0.4"
4
4
  end
5
5
  end
@@ -1,45 +1,51 @@
1
- require 'omniauth-oauth2'
1
+ require "omniauth-oauth2"
2
2
 
3
3
  module OmniAuth
4
4
  module Strategies
5
5
  class BikeIndex < OmniAuth::Strategies::OAuth2
6
6
  option :name, :bike_index
7
- DEFAULT_SCOPE = 'public'
8
- option :client_options, :site => 'https://bikeindex.org',
9
- :authorize_url => '/oauth/authorize'
7
+ DEFAULT_SCOPE = "public"
8
+ option :client_options, site: "https://bikeindex.org", authorize_url: "/oauth/authorize"
10
9
 
11
- uid { raw_info['id'] }
10
+ uid { raw_info["id"] }
12
11
 
13
12
  info do
14
13
  prune!(
15
- 'nickname' => raw_info['user']['username'],
16
- 'bike_ids' => raw_info['bike_ids'],
17
- 'email' => raw_info['user']['email'],
18
- 'name' => raw_info['user']['name'],
19
- 'twitter' => raw_info['user']['twitter'],
20
- 'image' => raw_info['user']['image'],
14
+ "nickname" => raw_info["user"]["username"],
15
+ "bike_ids" => raw_info["bike_ids"],
16
+ "email" => raw_info["user"]["email"],
17
+ "secondary_emails" => raw_info["user"]["secondary_emails"],
18
+ "name" => raw_info["user"]["name"],
19
+ "twitter" => raw_info["user"]["twitter"],
20
+ "image" => raw_info["user"]["image"]
21
21
  )
22
22
  end
23
23
 
24
24
  extra do
25
25
  hash = {}
26
- hash['raw_info'] = raw_info unless skip_info?
26
+ hash["raw_info"] = raw_info unless skip_info?
27
27
  prune! hash
28
28
  end
29
29
 
30
30
  def raw_info
31
- @raw_info ||= access_token.get('/api/v2/me').parsed || {}
31
+ @raw_info ||= access_token.get("/api/v3/me").parsed || {}
32
32
  end
33
33
 
34
34
  def request_phase
35
35
  options[:authorize_params] = {
36
- :scope => (options['scope'] || DEFAULT_SCOPE)
36
+ scope: (options["scope"] || DEFAULT_SCOPE),
37
+ partner: options["partner"],
38
+ unauthenticated_redirect: options["unauthenticated_redirect"]
37
39
  }
38
-
39
40
  super
40
41
  end
41
42
 
42
- private
43
+ # https://github.com/omniauth/omniauth-oauth2/issues/81
44
+ def callback_url
45
+ full_host + script_name + callback_path
46
+ end
47
+
48
+ private
43
49
 
44
50
  def prune!(hash)
45
51
  hash.delete_if do |_, value|
@@ -47,7 +53,6 @@ module OmniAuth
47
53
  value.nil? || (value.respond_to?(:empty?) && value.empty?)
48
54
  end
49
55
  end
50
-
51
56
  end
52
57
  end
53
- end
58
+ end
@@ -1,25 +1,24 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
- require 'omniauth/bike_index/version'
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require "omniauth/bike_index/version"
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = 'omniauth-bike-index'
7
- s.version = OmniAuth::BikeIndex::VERSION
8
- s.authors = ['Seth Herr']
9
- s.email = ['seth@bikeidnex.org']
10
- s.summary = 'Bike Index strategy for OmniAuth'
11
- s.description = 'Bike Index strategy for OmniAuth v1.2'
12
- s.homepage = 'https://github.com/bikeindex/omniauth-bike-index'
13
- s.license = 'MIT'
5
+ s.name = "omniauth-bike-index"
6
+ s.version = OmniAuth::BikeIndex::VERSION
7
+ s.authors = ["Seth Herr"]
8
+ s.email = ["seth@bikeidnex.org"]
9
+ s.summary = "Bike Index strategy for OmniAuth"
10
+ s.description = "Bike Index strategy for OmniAuth v1.2"
11
+ s.homepage = "https://github.com/bikeindex/omniauth-bike-index"
12
+ s.license = "MIT"
14
13
 
15
- s.files = `git ls-files`.split("\n")
16
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.executables = `git ls-files -- bin/*`.split("\n").collect { |f| File.basename(f) }
18
- s.require_paths = ['lib']
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").collect { |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
19
18
 
20
- s.add_runtime_dependency 'omniauth', '~> 1.2'
21
- s.add_runtime_dependency 'omniauth-oauth2', '~> 1.1'
19
+ s.add_runtime_dependency "omniauth", "~> 1.2"
20
+ s.add_runtime_dependency "omniauth-oauth2", "~> 1.1"
22
21
 
23
- s.add_development_dependency 'dotenv', '~> 0'
24
- s.add_development_dependency 'sinatra', '~> 0'
22
+ s.add_development_dependency "dotenv", "~> 0"
23
+ s.add_development_dependency "sinatra", "~> 0"
25
24
  end
@@ -1,37 +1,37 @@
1
- $LOAD_PATH.unshift File.expand_path('..', __FILE__)
2
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
1
+ $LOAD_PATH.unshift File.expand_path("..", __FILE__)
2
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
3
3
 
4
- require 'dotenv'
5
- require 'sinatra'
6
- require 'omniauth'
7
- require 'omniauth-bike-index'
4
+ require "dotenv"
5
+ require "sinatra"
6
+ require "omniauth"
7
+ require "omniauth-bike-index"
8
8
 
9
9
  Dotenv.load
10
10
 
11
- use Rack::Session::Cookie, :key => 'key',
12
- :domain => 'localhost',
13
- :path => '/',
14
- :expire_after => 14_400,
15
- :secret => 'secret'
11
+ use Rack::Session::Cookie, key: "key",
12
+ domain: "localhost",
13
+ path: "/",
14
+ expire_after: 14_400,
15
+ secret: "secret"
16
16
 
17
17
  use OmniAuth::Builder do
18
- provider :bike_index, ENV['CLIENT_ID'], ENV['CLIENT_SECRET'], :scope => 'access_profile'
18
+ provider :bike_index, ENV["CLIENT_ID"], ENV["CLIENT_SECRET"], scope: "access_profile"
19
19
  end
20
20
 
21
- get '/' do
21
+ get "/" do
22
22
  <<-HTML
23
- <a href='/auth/venmo'>Sign in with Bike Index</a>
23
+ <a href='/auth/bikeindex'>Sign in with Bike Index</a>
24
24
  HTML
25
25
  end
26
26
 
27
- get '/auth/failure' do
28
- env['omniauth.error'].to_s
27
+ get "/auth/failure" do
28
+ env["omniauth.error"].to_s
29
29
  end
30
30
 
31
- get '/auth/:name/callback' do
32
- auth = request.env['omniauth.auth']
31
+ get "/auth/:name/callback" do
32
+ auth = request.env["omniauth.auth"]
33
33
 
34
- puts %Q(
34
+ puts %(
35
35
  >> UID
36
36
  #{auth.uid.inspect}
37
37
 
@@ -45,5 +45,5 @@ get '/auth/:name/callback' do
45
45
  #{auth.extra.inspect}
46
46
  )
47
47
 
48
- 'Check logs for user information.'
48
+ "Check logs for user information."
49
49
  end
@@ -1,34 +1,32 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe OmniAuth::Strategies::BikeIndex do
4
4
  subject do
5
5
  @subject ||= begin
6
- args = ['client_id', 'client_secret', @options || {}].compact
6
+ args = ["client_id", "client_secret", @options || {}].compact
7
7
  OmniAuth::Strategies::BikeIndex.new(*args)
8
8
  end
9
9
  end
10
10
 
11
- context 'client options' do
12
- it 'has correct name' do
11
+ context "client options" do
12
+ it "has correct name" do
13
13
  expect(subject.options.name).to eq(:bike_index)
14
14
  end
15
15
 
16
- it 'has correct site' do
17
- expect(subject.options.client_options.site).to eq('https://bikeindex.org')
16
+ it "has correct site" do
17
+ expect(subject.options.client_options.site).to eq("https://bikeindex.org")
18
18
  end
19
19
 
20
- it 'has correct authorize url' do
21
- expect(subject.options.client_options.authorize_url).to eq('/oauth/authorize')
20
+ it "has correct authorize url" do
21
+ expect(subject.options.client_options.authorize_url).to eq("/oauth/authorize")
22
22
  end
23
-
24
23
  end
25
24
 
26
- context 'figuring stuff out' do
27
- it "gets log in" do
28
- app = lambda{|env| [200, {}, ["Hello World."]]}
29
- OmniAuth::Strategies::Developer.new(app).options.uid_field # => :email
30
- OmniAuth::Strategies::Developer.new(app, :uid_field => :name).options.uid_field # => :name
25
+ context "figuring stuff out" do
26
+ it "gets log in" do
27
+ app = lambda { |env| [200, {}, ["Hello World."]] }
28
+ OmniAuth::Strategies::Developer.new(app).options.uid_field # => :email
29
+ OmniAuth::Strategies::Developer.new(app, uid_field: :name).options.uid_field # => :name
31
30
  end
32
31
  end
33
-
34
32
  end
@@ -1,10 +1,10 @@
1
- $LOAD_PATH.unshift File.expand_path('..', __FILE__)
2
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
1
+ $LOAD_PATH.unshift File.expand_path("..", __FILE__)
2
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
3
3
 
4
- require 'rspec'
5
- require 'omniauth'
6
- require 'omniauth-bike-index'
4
+ require "rspec"
5
+ require "omniauth"
6
+ require "omniauth-bike-index"
7
7
 
8
8
  RSpec.configure do |config|
9
- config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
9
+ config.extend OmniAuth::Test::StrategyMacros, type: :strategy
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-bike-index
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Herr
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-25 00:00:00.000000000 Z
11
+ date: 2020-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth
@@ -76,7 +76,6 @@ files:
76
76
  - ".gitignore"
77
77
  - ".travis.yml"
78
78
  - Gemfile
79
- - Guardfile
80
79
  - README.md
81
80
  - Rakefile
82
81
  - lib/omniauth-bike-index.rb
@@ -90,7 +89,7 @@ homepage: https://github.com/bikeindex/omniauth-bike-index
90
89
  licenses:
91
90
  - MIT
92
91
  metadata: {}
93
- post_install_message:
92
+ post_install_message:
94
93
  rdoc_options: []
95
94
  require_paths:
96
95
  - lib
@@ -105,9 +104,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
104
  - !ruby/object:Gem::Version
106
105
  version: '0'
107
106
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.4.6
110
- signing_key:
107
+ rubyforge_project:
108
+ rubygems_version: 2.7.6.2
109
+ signing_key:
111
110
  specification_version: 4
112
111
  summary: Bike Index strategy for OmniAuth
113
112
  test_files:
data/Guardfile DELETED
@@ -1,8 +0,0 @@
1
- rspec_opts = {
2
- failed_mode: :focus
3
- }
4
-
5
- guard :rspec, cmd: "bundle exec rspec" do
6
- watch(%r{^spec/.+_spec\.rb$})
7
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
8
- end