omniauth-withings2 0.2.0 → 1.0.0

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
2
  SHA256:
3
- metadata.gz: 7bd28dca5dc2f8f040fe23b6d9dfee4f8fe97c99a85fe573762f1e19d97b8b39
4
- data.tar.gz: 4dea6132bda3972a2ac4f44d88abacfc43339a5cc4d94de775ba428b67b8e876
3
+ metadata.gz: '08624a2d79a50e39c8de66098b50c57a46776bf15babd0b8d818108dace9aa0f'
4
+ data.tar.gz: ee9a8079a1118bd64ae9636f964b1c482b37cc857398fdadb248a03ff9c163bb
5
5
  SHA512:
6
- metadata.gz: 9da97f3a7d76ba32ae81eaddd073b9a5325c01572409cf949170c72cbc322fd7c73415df0c3178756ac00e23380c9bc1ba0c3f1fbbbaeaf9966a960a69808f7a
7
- data.tar.gz: d4b3062b473b3d63d00e3263d2ba18ecf3873c2c5261121939d61b9ca066ae71e1d5ff77a199c7fcc2003379d03e7f13cc625902b01e6078484b7de8b7203055
6
+ metadata.gz: d455e437271b254c9172c10acfc75e3849cf4b96a57c65dfaa9b057f0e91877d80daff6bc84a05fe262df91b32a58a90d7a6158ec09976b6b8102fff77adc231
7
+ data.tar.gz: 5b786596798d54b04c72d80dcac81f694192736a5c7c7b0ae54764f15c8d0688f4cdda99e2f8d239b177313ffbdeb0f36761c0030c296ce40d7a33d6cb121fe9
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # OmniAuth Withings2 Strategy
2
2
 
3
- This is an OmniAuth OAuth 2.0 strategy for authenticating with the [Nokia OAuth 2.0 api](see https://developer.health.nokia.com/oauth2/#tag/OAuth-2.0).
3
+ This is an OmniAuth OAuth 2.0 strategy for authenticating with the [Withings (formerly Nokia Health) OAuth 2.0 API](see http://developer.withings.com/oauth2/#tag/OAuth-2.0).
4
4
 
5
5
  ## Installation
6
6
 
@@ -21,13 +21,13 @@ Or install it yourself as:
21
21
 
22
22
  ## Get your Oauth credentials
23
23
 
24
- To register your application with Nokia and obtain a client id and consumer secret, go to the [Nokia application registration](https://account.withings.com/partner/add_oauth2).
24
+ To register your application with Withings and obtain a client id and consumer secret, go to the [Withings developer application registration](https://account.withings.com/partner/account_login?b=add_oauth2).
25
25
 
26
26
  ## Running the example
27
27
 
28
28
  $ cd example
29
29
  $ bundle
30
- $ NOKIA_API_KEY=<your_nokia_api_key> NOKIA_API_SECRET=<your_nokia_api_secret> bundle exec ruby example.rb
30
+ $ WITHINGS_CLIENT_ID=<your_withings_client_id> WITHINGS_CLIENT_SECRET=<your_withings_client_secret> bundle exec ruby example.rb
31
31
  Visit http://localhost:4567/ in a browser
32
32
 
33
33
  ## Usage
@@ -44,7 +44,7 @@ Then integrate the strategy into your middleware:
44
44
  use OmniAuth::Builder do
45
45
  provider :withings2,
46
46
  ENV['WITHINGS_CLIENT_ID'],
47
- ENV['WITHINGS_CONSUMER_SECRET'],
47
+ ENV['WITHINGS_CLIENT_SECRET'],
48
48
  scope: 'user.metrics'
49
49
  end
50
50
  ```
@@ -55,34 +55,34 @@ In Rails, create a new file under config/initializers called omniauth.rb to plug
55
55
  Rails.application.config.middleware.use OmniAuth::Builder do
56
56
  provider :withings2,
57
57
  ENV['WITHINGS_CLIENT_ID'],
58
- ENV['WITHINGS_CONSUMER_SECRET'],
58
+ ENV['WITHINGS_CLIENT_SECRET'],
59
59
  scope: 'user.metrics'
60
60
  end
61
61
  ```
62
62
 
63
- In your controller action (responding to /auth/nokia/callback), get the credentials and store them for later interaction with the API:
63
+ In your controller action (responding to /auth/withings2/callback), get the credentials and store them for later interaction with the API:
64
64
 
65
65
  ```ruby
66
66
  request.env['omniauth.auth']['credentials']
67
67
  ```
68
68
 
69
69
  ### TODO: update
70
- To interact with the Nokia API (e.g. retrieve weight measurements recorded by a Nokia scale):
70
+ To interact with the Withings API (e.g. retrieve weight measurements recorded by a Nokia/Withings scale):
71
71
 
72
72
  ```ruby
73
73
  oauth_consumer = OAuth::Consumer.new(
74
- ENV['NOKIA_API_KEY'],
75
- ENV['NOKIA_API_SECRET'],
76
- OmniAuth::Strategies::Nokia.consumer_options,
74
+ ENV['WITHINGS_CLIENT_ID'],
75
+ ENV['WITHINGS_CLIENT_SECRET'],
76
+ OmniAuth::Strategies::Withings.consumer_options,
77
77
  )
78
78
 
79
79
  api_access_token = OAuth::AccessToken.from_hash(oauth_consumer, {
80
- oauth_token: nokia_user_access_token,
81
- oauth_token_secret: nokia_user_access_token_secret,
80
+ oauth_token: withings_user_access_token,
81
+ oauth_token_secret: withings_user_access_token_secret,
82
82
  })
83
83
 
84
- # Change the uri to access other Nokia API endpoints
85
- uri = "https://wbsapi.withings.net/measure?action=getmeas&userid=#{nokia_user_id}"
84
+ # Change the uri to access other Withings API endpoints
85
+ uri = "https://wbsapi.withings.net/measure?action=getmeas&userid=#{withings_user_id}"
86
86
 
87
87
  request = api_access_token.get(uri)
88
88
  JSON.parse(request.body)
@@ -99,11 +99,11 @@ For a short tutorial on how to use OmniAuth in your Rails application, visit [th
99
99
 
100
100
  ## Contributing
101
101
 
102
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/omniauth-nokia.
102
+ Bug reports and pull requests are welcome on GitHub at https://github.com/platejoy/omniauth-withings2.
103
103
 
104
104
  ## Original License
105
105
 
106
- Copyright (c) 2016 TK Gospodinov. See [LICENSE](https://github.com/tkgospodinov/omniauth-fitbit/blob/master/LICENSE.md) for details.
106
+ Copyright (c) 2016 TK Gospodinov. See [LICENSE](https://github.com/platejoy/omniauth-withings2/blob/master/LICENSE.md) for details.
107
107
 
108
108
  Permission is hereby granted, free of charge, to any person obtaining
109
109
  a copy of this software and associated documentation files (the
data/example/example.rb CHANGED
@@ -4,7 +4,7 @@ require 'pry'
4
4
 
5
5
  use Rack::Session::Cookie
6
6
  use OmniAuth::Builder do
7
- provider :withings2, ENV['WITHINGS_CLIENT_ID'], ENV['WITHINGS_CONSUMER_SECRET'], { :scope => 'user.metrics', :redirect_uri => 'http://localhost:4567/auth/withings2/callback' }
7
+ provider :withings2, ENV['WITHINGS_CLIENT_ID'], ENV['WITHINGS_CLIENT_SECRET'], { :scope => 'user.metrics', :redirect_uri => 'http://localhost:4567/auth/withings2/callback' }
8
8
  end
9
9
 
10
10
  get '/' do
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Withings
3
- VERSION = "0.2.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
- end
5
+ end
@@ -6,16 +6,22 @@ module OmniAuth
6
6
 
7
7
  option :name, 'withings2'
8
8
  option :client_options, {
9
- :site => 'https://account.withings.com',
10
- :authorize_url => 'https://account.withings.com/oauth2_user/authorize2',
11
- :token_url => 'https://account.withings.com/oauth2/token'
9
+ :site => 'https://account.withings.com',
10
+ :authorize_url => 'https://account.withings.com/oauth2_user/authorize2',
11
+ :token_url => 'https://wbsapi.withings.net/v2/oauth2',
12
+ extract_access_token: proc { |client, hash|
13
+ ::OAuth2::Client::DEFAULT_EXTRACT_ACCESS_TOKEN.call(client, hash['body'])
14
+ }
12
15
  }
13
16
 
14
17
  option :response_type, 'code'
15
18
  option :authorize_options, %i(scope response_type redirect_uri)
16
19
 
17
20
  def build_access_token
18
- options.token_params.merge!(:headers => {'Authorization' => basic_auth_header })
21
+ options.token_params.merge!(
22
+ action: 'requesttoken',
23
+ headers: { 'Authorization' => basic_auth_header }
24
+ )
19
25
  super
20
26
  end
21
27
 
@@ -35,7 +35,7 @@ describe "OmniAuth::Strategies::Withings2" do
35
35
  end
36
36
 
37
37
  it 'has correct token url' do
38
- expect(subject.options.client_options.token_url).to eq('https://account.withings.com/oauth2/token')
38
+ expect(subject.options.client_options.token_url).to eq('https://wbsapi.withings.net/v2/oauth2')
39
39
  end
40
40
  end
41
41
 
@@ -53,7 +53,7 @@ describe "OmniAuth::Strategies::Withings2" do
53
53
  context 'uid' do
54
54
  before :each do
55
55
  access_token = double('access_token')
56
- allow(access_token).to receive('params') { { 'user_id' => '123ABC' } }
56
+ allow(access_token).to receive('params') { { 'userid' => '123ABC' } }
57
57
  allow(subject).to receive(:access_token) { access_token }
58
58
  end
59
59
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-withings2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Nelson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2021-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -64,8 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  - !ruby/object:Gem::Version
65
65
  version: '0'
66
66
  requirements: []
67
- rubyforge_project:
68
- rubygems_version: 2.7.6
67
+ rubygems_version: 3.0.3
69
68
  signing_key:
70
69
  specification_version: 4
71
70
  summary: OmniAuth OAuth2 strategy for Withings