signet 0.6.1 → 0.7.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
  SHA1:
3
- metadata.gz: 54a525db784c45a39a547b947ad806222183aafa
4
- data.tar.gz: f2e9672239bacebf70d02803f0a072234095ea96
3
+ metadata.gz: 2417aa777b962d91485c42ae04270934ee8e7f90
4
+ data.tar.gz: 4e4ae9a6cfa21caeb92f4e15d5efb97016fe1e6d
5
5
  SHA512:
6
- metadata.gz: f32cda6094a605750a1b1743e0cb1cca838e2d452ddf62d06601321cd0f8fed9910d29966beb1b9208401cb46e7be4e7ce22de8eb80e58ed6d95bc8e96e40821
7
- data.tar.gz: f6fb4fdf4853079697938fbf6319c91b4b6d0327551ab68f00260c22070ee6efcdbba0c4d620d6b76ebfb1382d36269e327a54a763952e5ac57a848398387f49
6
+ metadata.gz: 04a82c96199451572d5a59a3294f05ea728d71a7b4f67ed6116c135c64597ce79545dfa0f356074c443df238dd503fc2953f3ecb571fad3c37bc1fc619f0bdf3
7
+ data.tar.gz: 210adf33a7fb46b8dd76f1e65e743d67c49cea0b4c44c0b58645b74c84e8f2303ca29936ab3cf421b9f0050abefdaf33f10d90903e0da9e8747ed2ef9880a51b
@@ -1,3 +1,10 @@
1
+ # 0.7
2
+ * No longer overwrite SSL environment variables.
3
+ * Tighten up date & URL (de)serialization for OAuth2 client
4
+ * Allow Hurley as a connection
5
+ * Add expires_within(sec) method to oauth2 client to facilitate proactive
6
+ refreshes
7
+
1
8
  # 0.6.1
2
9
  * Fix language warnings for unused & shadowed variables ((@blowmage)[])
3
10
  * Update SSL cert path for OSX ((@gambaroff)[])
data/Gemfile CHANGED
@@ -3,3 +3,4 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  gem 'jruby-openssl', :platforms => :jruby
6
+ gem 'hurley'
data/README.md CHANGED
@@ -25,26 +25,30 @@ Signet is an OAuth 1.0 / OAuth 2.0 implementation.
25
25
 
26
26
  ## Example Usage for Google
27
27
 
28
+ # Initialize the client
29
+
28
30
  ``` ruby
29
- require 'signet/oauth_1/client'
30
- client = Signet::OAuth1::Client.new(
31
- :temporary_credential_uri =>
32
- 'https://www.google.com/accounts/OAuthGetRequestToken',
33
- :authorization_uri =>
34
- 'https://www.google.com/accounts/OAuthAuthorizeToken',
35
- :token_credential_uri =>
36
- 'https://www.google.com/accounts/OAuthGetAccessToken',
37
- :client_credential_key => 'anonymous',
38
- :client_credential_secret => 'anonymous'
39
- )
40
- client.fetch_temporary_credential!(:additional_parameters => {
41
- :scope => 'https://mail.google.com/mail/feed/atom'
42
- })
43
- # Send the user to client.authorization_uri, obtain verifier
44
- client.fetch_token_credential!(:verifier => '12345')
45
- response = client.fetch_protected_resource(
46
- :uri => 'https://mail.google.com/mail/feed/atom'
31
+ require 'signet/oauth_2/client'
32
+ client = Signet::OAuth2::Client.new(
33
+ :authorization_uri => 'https://accounts.google.com/o/oauth2/auth',
34
+ :token_credential_uri => 'https://www.googleapis.com/oauth2/v3/token',
35
+ :client_id => '44410190108-74nkm6jc5e3vvjqis803frkvmu88cu3a.apps.googleusercontent.com',
36
+ :client_secret => 'X1NUhvO-rQr9sm8uUSMY8i7v',
37
+ :scope => 'email profile',
38
+ :redirect_uri => 'https://example.client.com/oauth'
47
39
  )
40
+
41
+ # Request an authorization code
42
+
43
+ ```
44
+ redirect_to(client.authorization_uri)
45
+ ```
46
+
47
+ # Obtain an access token
48
+
49
+ ```
50
+ client.code = request.query['code']
51
+ client.fetch_access_token!
48
52
  ```
49
53
 
50
54
  ## Install
@@ -7,8 +7,6 @@ rescue LoadError
7
7
  require 'compat/securerandom'
8
8
  end
9
9
 
10
- require 'signet/ssl_config'
11
-
12
10
  module Signet #:nodoc:
13
11
  module OAuth1
14
12
  OUT_OF_BAND = 'oob'
@@ -16,7 +16,6 @@ require 'base64'
16
16
  require 'signet'
17
17
  require 'multi_json'
18
18
  require 'compat/multi_json'
19
- require 'signet/ssl_config'
20
19
 
21
20
  module Signet #:nodoc:
22
21
  ##
@@ -13,19 +13,19 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require 'faraday'
16
- #require 'faraday/utils'
17
-
18
16
  require 'stringio'
19
17
  require 'addressable/uri'
20
18
  require 'signet'
21
19
  require 'signet/errors'
22
20
  require 'signet/oauth_2'
23
-
24
21
  require 'jwt'
25
22
 
26
23
  module Signet
27
24
  module OAuth2
28
25
  class Client
26
+
27
+ OOB_MODES = %w(urn:ietf:wg:oauth:2.0:oob:auto urn:ietf:wg:oauth:2.0:oob oob)
28
+
29
29
  ##
30
30
  # Creates an OAuth 2.0 client.
31
31
  #
@@ -90,20 +90,19 @@ module Signet
90
90
  # @see Signet::OAuth2::Client#update!
91
91
  def initialize(options={})
92
92
  @authorization_uri = nil
93
+ @token_credential_uri = nil
93
94
  @client_id = nil
94
95
  @client_secret = nil
95
96
  @code = nil
96
97
  @expires_at = nil
97
98
  @expires_in = nil
98
99
  @issued_at = nil
99
- @issued_at = nil
100
100
  @issuer = nil
101
101
  @password = nil
102
102
  @principal = nil
103
103
  @redirect_uri = nil
104
104
  @scope = nil
105
105
  @state = nil
106
- @token_credential_uri = nil
107
106
  @username = nil
108
107
  self.update!(options)
109
108
  end
@@ -571,10 +570,10 @@ module Signet
571
570
  # Sets the number of seconds assertions are valid for
572
571
  # Used only by the assertion grant type.
573
572
  #
574
- # @param [String] new_expiry
573
+ # @param [Fixnum, String] new_expiry
575
574
  # Assertion expiry, in seconds
576
575
  def expiry=(new_expiry)
577
- @expiry = new_expiry
576
+ @expiry = new_expiry ? new_expiry.to_i : nil
578
577
  end
579
578
 
580
579
 
@@ -723,7 +722,7 @@ module Signet
723
722
  ##
724
723
  # Returns the lifetime of the access token in seconds.
725
724
  #
726
- # @return [Integer] The access token lifetime.
725
+ # @return [Fixnum] The access token lifetime.
727
726
  def expires_in
728
727
  return @expires_in
729
728
  end
@@ -732,21 +731,21 @@ module Signet
732
731
  # Sets the lifetime of the access token in seconds. Resets the issued
733
732
  # timestamp.
734
733
  #
735
- # @param [String] new_expires_in
734
+ # @param [String, Fixnum] new_expires_in
736
735
  # The access token lifetime.
737
736
  def expires_in=(new_expires_in)
738
737
  if new_expires_in != nil
739
738
  @expires_in = new_expires_in.to_i
740
739
  @issued_at = Time.now
741
740
  else
742
- @expires_in, @issued_at = nil, nil
741
+ @expires_in, @issued_at, @expires_at = nil, nil, nil
743
742
  end
744
743
  end
745
744
 
746
745
  ##
747
746
  # Returns the timestamp the access token was issued at.
748
747
  #
749
- # @return [Integer] The access token issuance time.
748
+ # @return [Time] The access token issuance time.
750
749
  def issued_at
751
750
  return @issued_at
752
751
  end
@@ -754,16 +753,16 @@ module Signet
754
753
  ##
755
754
  # Sets the timestamp the access token was issued at.
756
755
  #
757
- # @param [String] new_issued_at
756
+ # @param [String,Fixnum,Time] new_issued_at
758
757
  # The access token issuance time.
759
758
  def issued_at=(new_issued_at)
760
- @issued_at = new_issued_at
759
+ @issued_at = normalize_timestamp(new_issued_at)
761
760
  end
762
761
 
763
762
  ##
764
763
  # Returns the timestamp the access token will expire at.
765
764
  #
766
- # @return [Integer] The access token lifetime.
765
+ # @return [Time] The access token lifetime.
767
766
  def expires_at
768
767
  if @expires_at
769
768
  @expires_at
@@ -777,8 +776,10 @@ module Signet
777
776
  ##
778
777
  # Limits the lifetime of the access token as number of seconds since
779
778
  # the Epoch
779
+ # @param [String,Fixnum,Time] new_expires_at
780
+ # The access token issuance time.
780
781
  def expires_at=(new_expires_at)
781
- @expires_at = Time.at new_expires_at
782
+ @expires_at = normalize_timestamp(new_expires_at)
782
783
  end
783
784
 
784
785
  ##
@@ -790,6 +791,18 @@ module Signet
790
791
  return self.expires_at != nil && Time.now >= self.expires_at
791
792
  end
792
793
 
794
+ ##
795
+ # Returns true if the access token has expired or expires within
796
+ # the next n seconds
797
+ #
798
+ # @param [Fixnum] sec
799
+ # Max number of seconds from now where a token is still considered
800
+ # expired.
801
+ # @return [TrueClass, FalseClass]
802
+ # The expiration state of the access token.
803
+ def expires_within?(sec)
804
+ return self.expires_at != nil && Time.now >= (self.expires_at - sec)
805
+ end
793
806
 
794
807
  ##
795
808
  # Removes all credentials from the client.
@@ -869,20 +882,21 @@ module Signet
869
882
  # @return [String] A serialized JSON representation of the client.
870
883
  def to_json
871
884
  return MultiJson.dump({
872
- 'authorization_uri' => self.authorization_uri,
873
- 'token_credential_uri' => self.token_credential_uri,
885
+ 'authorization_uri' => self.authorization_uri ? self.authorization_uri.to_s : nil,
886
+ 'token_credential_uri' => self.token_credential_uri ? self.token_credential_uri.to_s : nil,
874
887
  'client_id' => self.client_id,
875
888
  'client_secret' => self.client_secret,
876
889
  'scope' => self.scope,
877
890
  'state' => self.state,
878
891
  'code' => self.code,
879
- 'redirect_uri' => self.redirect_uri,
892
+ 'redirect_uri' => self.redirect_uri ? self.redirect_uri.to_s : nil,
880
893
  'username' => self.username,
881
894
  'password' => self.password,
882
895
  'issuer' => self.issuer,
883
896
  'audience' => self.audience,
884
897
  'person' => self.person,
885
898
  'expiry' => self.expiry,
899
+ 'expires_at' => self.expires_at ? self.expires_at.to_i : nil,
886
900
  'signing_key' => self.signing_key,
887
901
  'refresh_token' => self.refresh_token,
888
902
  'access_token' => self.access_token,
@@ -899,16 +913,11 @@ module Signet
899
913
  # - <code>:code</code> -
900
914
  # The authorization code.
901
915
  #
916
+ # @private
902
917
  # @return [Array] The request object.
903
918
  def generate_access_token_request(options={})
904
919
  options = deep_hash_normalize(options)
905
920
 
906
- if self.token_credential_uri == nil
907
- raise ArgumentError, 'Missing token endpoint URI.'
908
- end
909
-
910
- options[:connection] ||= Faraday.default_connection
911
- method = 'POST'
912
921
  parameters = {"grant_type" => self.grant_type}
913
922
  case self.grant_type
914
923
  when 'authorization_code'
@@ -931,48 +940,53 @@ module Signet
931
940
  end
932
941
  parameters['client_id'] = self.client_id unless self.client_id.nil?
933
942
  parameters['client_secret'] = self.client_secret unless self.client_secret.nil?
934
- headers = [
935
- ['Cache-Control', 'no-store'],
936
- ['Content-Type', 'application/x-www-form-urlencoded']
937
- ]
938
- parameters.merge!(self.additional_parameters.merge(options[:additional_parameters] || {}))
939
- return options[:connection].build_request(
940
- method.to_s.downcase.to_sym
941
- ) do |req|
942
- req.url(Addressable::URI.parse(
943
- self.token_credential_uri
944
- ).normalize.to_s)
945
- req.headers = Faraday::Utils::Headers.new(headers)
946
- req.body = Addressable::URI.form_encode(parameters)
947
- end
943
+ parameters['scope'] = options[:scope] if options[:scope]
944
+ additional = self.additional_parameters.merge(options[:additional_parameters] || {})
945
+ additional.each { |k, v| parameters[k.to_s] = v }
946
+ parameters
948
947
  end
949
948
 
950
949
  def fetch_access_token(options={})
950
+ if self.token_credential_uri == nil
951
+ raise ArgumentError, 'Missing token endpoint URI.'
952
+ end
953
+
951
954
  options = deep_hash_normalize(options)
952
955
 
953
- options[:connection] ||= Faraday.default_connection
954
- request = self.generate_access_token_request(options)
955
- request_env = request.to_env(options[:connection])
956
- request_env[:request] ||= request
957
- response = options[:connection].app.call(request_env)
958
- if response.status.to_i == 200
959
- content_type = response.headers['content-type']
960
- return ::Signet::OAuth2.parse_credentials(response.body, content_type)
961
- elsif [400, 401, 403].include?(response.status.to_i)
956
+ client = options[:connection] ||= Faraday.default_connection
957
+ url = Addressable::URI.parse(self.token_credential_uri).normalize.to_s
958
+ parameters = self.generate_access_token_request(options)
959
+
960
+ response = client.post url, parameters
961
+ if response.respond_to?(:status)
962
+ # Faraday connection
963
+ status = response.status.to_i
964
+ body = response.body
965
+ content_type = response.headers['Content-type']
966
+ else
967
+ # Hurley
968
+ status = response.status_code.to_i
969
+ body = response.body
970
+ content_type = response.header[:content_type]
971
+ end
972
+
973
+ if status == 200
974
+ return ::Signet::OAuth2.parse_credentials(body, content_type)
975
+ elsif [400, 401, 403].include?(status)
962
976
  message = 'Authorization failed.'
963
- if response.body.to_s.strip.length > 0
977
+ if body.to_s.strip.length > 0
964
978
  message += " Server message:\n#{response.body.to_s.strip}"
965
979
  end
966
980
  raise ::Signet::AuthorizationError.new(
967
- message, :request => request, :response => response
981
+ message, :response => response
968
982
  )
969
983
  else
970
984
  message = "Unexpected status code: #{response.status}."
971
- if response.body.to_s.strip.length > 0
985
+ if body.to_s.strip.length > 0
972
986
  message += " Server message:\n#{response.body.to_s.strip}"
973
987
  end
974
988
  raise ::Signet::AuthorizationError.new(
975
- message, :request => request, :response => response
989
+ message, :response => response
976
990
  )
977
991
  end
978
992
  end
@@ -1019,7 +1033,6 @@ module Signet
1019
1033
  # The HTTP body for the request.
1020
1034
  # - <code>:realm</code> -
1021
1035
  # The Authorization realm. See RFC 2617.
1022
- #
1023
1036
  # @return [Faraday::Request] The request object.
1024
1037
  def generate_authenticated_request(options={})
1025
1038
  options = deep_hash_normalize(options)
@@ -1100,16 +1113,6 @@ module Signet
1100
1113
  # :uri => 'http://www.example.com/protected/resource'
1101
1114
  # )
1102
1115
  #
1103
- # @example
1104
- # # Using Typhoeus
1105
- # response = client.fetch_protected_resource(
1106
- # :request => Typhoeus::Request.new(
1107
- # 'http://www.example.com/protected/resource'
1108
- # ),
1109
- # :adapter => HTTPAdapter::TyphoeusAdapter.new,
1110
- # :connection => connection
1111
- # )
1112
- #
1113
1116
  # @return [Array] The response object.
1114
1117
  def fetch_protected_resource(options={})
1115
1118
  options = deep_hash_normalize(options)
@@ -1147,7 +1150,7 @@ module Signet
1147
1150
  # Check if the URI is a out-of-band
1148
1151
  # @private
1149
1152
  def uri_is_oob?(uri)
1150
- return uri.to_s == 'urn:ietf:wg:oauth:2.0:oob' || uri.to_s == 'oob'
1153
+ return OOB_MODES.include?(uri.to_s)
1151
1154
  end
1152
1155
 
1153
1156
  # Convert all keys in this hash (nested) to symbols for uniform retrieval
@@ -1160,13 +1163,24 @@ module Signet
1160
1163
  end
1161
1164
 
1162
1165
  def deep_hash_normalize(old_hash)
1163
- old_hash.inject(formatted_hash={}) do |hash,(k,v)|
1166
+ sym_hash = {}
1167
+ old_hash and old_hash.each {|k,v| sym_hash[k.to_sym] = recursive_hash_normalize_keys(v)}
1168
+ sym_hash
1169
+ end
1164
1170
 
1165
- hash[k.to_sym] = recursive_hash_normalize_keys(v)
1166
- hash
1171
+ def normalize_timestamp(time)
1172
+ case time
1173
+ when NilClass
1174
+ nil
1175
+ when Time
1176
+ time
1177
+ when String
1178
+ Time.parse(issued_at)
1179
+ when Fixnum
1180
+ Time.at(time)
1181
+ else
1182
+ fail "Invalid time value #{time}"
1167
1183
  end
1168
-
1169
- formatted_hash
1170
1184
  end
1171
1185
  end
1172
1186
  end
@@ -17,8 +17,8 @@ unless defined? Signet::VERSION
17
17
  module Signet
18
18
  module VERSION
19
19
  MAJOR = 0
20
- MINOR = 6
21
- TINY = 1
20
+ MINOR = 7
21
+ TINY = 0
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY].join('.')
24
24
  end
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  s.add_runtime_dependency 'faraday', '~> 0.9'
28
28
  s.add_runtime_dependency 'multi_json', '~> 1.10'
29
29
  s.add_runtime_dependency 'jwt', '~> 1.5'
30
- s.add_runtime_dependency 'extlib', '~> 0.9'
31
30
 
32
31
  s.add_development_dependency 'rake', '~> 10.0'
33
32
  s.add_development_dependency 'yard', '~> 0.8'
@@ -95,14 +95,16 @@ describe Signet::OAuth1::Client, 'configured for standard Google APIs' do
95
95
  end
96
96
 
97
97
  it 'should raise an error if the token credentials are bogus' do
98
- expect(lambda do
98
+ expect do
99
+ skip 'Need to replace with mocked response as google endpoints no longer use oauth1'
99
100
  @client.token_credential_key = '12345'
100
101
  @client.token_credential_secret = '12345'
101
- @client.fetch_protected_resource(
102
+ res = @client.fetch_protected_resource(
102
103
  :uri =>
103
104
  'https://www.google.com/m8/feeds/'
104
105
  )
105
- end).to raise_error(Signet::AuthorizationError)
106
+ puts "Res = #{res.status}"
107
+ end.to raise_error(Signet::AuthorizationError)
106
108
  end
107
109
 
108
110
  # We have to stub responses for the token credentials
@@ -228,6 +230,7 @@ describe Signet::OAuth1::Client, 'configured for two-legged OAuth' do
228
230
  end
229
231
 
230
232
  it 'should raise an error if the client credentials are bogus' do
233
+ skip 'Need to replace with mocked response as google endpoints no longer use oauth1'
231
234
  expect(lambda do
232
235
  @client.fetch_protected_resource(
233
236
  :uri =>
@@ -263,7 +263,7 @@ describe Signet::OAuth2::Client, 'configured for assertions profile' do
263
263
  it 'should send valid access token request' do
264
264
  stubs = Faraday::Adapter::Test::Stubs.new do |stub|
265
265
  stub.post('/o/oauth2/token') do |env|
266
- params = Addressable::URI.form_unencode(env[:body])
266
+ params = env[:body]
267
267
  claim, header = JWT.decode(params.assoc("assertion").last, @key.public_key)
268
268
  expect(params.assoc("grant_type")).to eq ['grant_type','urn:ietf:params:oauth:grant-type:jwt-bearer']
269
269
  build_json_response({
@@ -370,8 +370,7 @@ describe Signet::OAuth2::Client, 'configured for Google userinfo API' do
370
370
  'PEFzc2VydGlvbiBJc3N1ZUluc3RhbnQ9IjIwMTEtMDU'
371
371
 
372
372
  request = @client.generate_access_token_request
373
- params = Addressable::URI.form_unencode(request.body)
374
- expect(params).to include(['assertion', 'PEFzc2VydGlvbiBJc3N1ZUluc3RhbnQ9IjIwMTEtMDU'])
373
+ expect(request).to include('assertion' => 'PEFzc2VydGlvbiBJc3N1ZUluc3RhbnQ9IjIwMTEtMDU')
375
374
  end
376
375
 
377
376
  it 'should allow the token to be updated' do
@@ -889,7 +888,7 @@ xwIDAQAB
889
888
  -----END PUBLIC KEY-----
890
889
  PUBKEY
891
890
  @client.decoded_id_token(pubkey)
892
- end).to raise_error(JWT::DecodeError, "Signature verification failed")
891
+ end).to raise_error(JWT::VerificationError)
893
892
  stubs.verify_stubbed_calls
894
893
  end
895
894
  end
@@ -956,9 +955,9 @@ describe Signet::OAuth2::Client, 'configured with custom parameters' do
956
955
 
957
956
  it 'should merge new generate_access_token_request custom parameters' do
958
957
  @client.update!(:code=>'12345')
959
- body = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).body
960
- expect(body).to include("type=new_type")
961
- expect(body).to include("new_param=new_val")
958
+ params = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'})
959
+ expect(params).to include('type' => 'new_type')
960
+ expect(params).to include('new_param' => 'new_val')
962
961
  end
963
962
  end
964
963
 
@@ -1000,9 +999,9 @@ describe Signet::OAuth2::Client, 'configured with custom parameters' do
1000
999
 
1001
1000
  it 'should merge new generate_access_token_request custom parameters' do
1002
1001
  @client.update!(:code=>'12345')
1003
- body = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).body
1004
- expect(body).to include("type=new_type")
1005
- expect(body).to include("new_param=new_val")
1002
+ params = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'})
1003
+ expect(params).to include("type" => "new_type")
1004
+ expect(params).to include("new_param" => "new_val")
1006
1005
  end
1007
1006
  end
1008
1007
 
@@ -1049,8 +1048,8 @@ describe Signet::OAuth2::Client, 'configured with custom parameters a la JSON.lo
1049
1048
 
1050
1049
  it 'should merge new generate_access_token_request custom parameters' do
1051
1050
  @client.update!(:code=>'12345')
1052
- body = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'}).body
1053
- expect(body).to include("type=new_type")
1054
- expect(body).to include("new_param=new_val")
1051
+ params = @client.generate_access_token_request(:additional_parameters => {'type' => 'new_type', 'new_param' => 'new_val'})
1052
+ expect(params).to include("type" => "new_type")
1053
+ expect(params).to include("new_param" => "new_val")
1055
1054
  end
1056
1055
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Aman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-08 00:00:00.000000000 Z
12
+ date: 2015-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -67,20 +67,6 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.5'
70
- - !ruby/object:Gem::Dependency
71
- name: extlib
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: '0.9'
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '0.9'
84
70
  - !ruby/object:Gem::Dependency
85
71
  name: rake
86
72
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +179,6 @@ files:
193
179
  - lib/signet/oauth_1/signature_methods/rsa_sha1.rb
194
180
  - lib/signet/oauth_2.rb
195
181
  - lib/signet/oauth_2/client.rb
196
- - lib/signet/ssl_config.rb
197
182
  - lib/signet/version.rb
198
183
  - signet.gemspec
199
184
  - spec/force_compat/digest/hmac.rb
@@ -241,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
226
  version: 1.3.5
242
227
  requirements: []
243
228
  rubyforge_project:
244
- rubygems_version: 2.4.8
229
+ rubygems_version: 2.4.6
245
230
  signing_key:
246
231
  specification_version: 4
247
232
  summary: Signet is an OAuth 1.0 / OAuth 2.0 implementation.
@@ -1,55 +0,0 @@
1
- if (!ENV['SSL_CERT_FILE'] || !File.exist?(ENV['SSL_CERT_FILE'])) &&
2
- (!ENV['SSL_CERT_DIR'] || !File.exist?(ENV['SSL_CERT_DIR']))
3
- # Attempt to copy over from other environment variables or well-known
4
- # locations. But seriously, just set the environment variables!
5
- common_ca_file_locations = [
6
- ENV['CA_FILE'],
7
- '/usr/local/lib/ssl/certs/ca-certificates.crt',
8
- '/usr/local/ssl/certs/ca-certificates.crt',
9
- '/usr/local/share/curl/curl-ca-bundle.crt',
10
- '/usr/local/etc/openssl/cert.pem',
11
- '/opt/local/lib/ssl/certs/ca-certificates.crt',
12
- '/opt/local/ssl/certs/ca-certificates.crt',
13
- '/opt/local/share/curl/curl-ca-bundle.crt',
14
- '/opt/local/etc/openssl/cert.pem',
15
- '/usr/lib/ssl/certs/ca-certificates.crt',
16
- '/usr/ssl/certs/ca-certificates.crt',
17
- '/usr/share/curl/curl-ca-bundle.crt',
18
- '/etc/ssl/certs/ca-certificates.crt',
19
- '/etc/openssl/cert.pem',
20
- '/etc/pki/tls/cert.pem',
21
- '/etc/pki/CA/cacert.pem',
22
- 'C:\Windows\curl-ca-bundle.crt',
23
- 'C:\Windows\ca-bundle.crt',
24
- 'C:\Windows\cacert.pem',
25
- './curl-ca-bundle.crt',
26
- './cacert.pem',
27
- '~/.cacert.pem'
28
- ]
29
- common_ca_path_locations = [
30
- ENV['CA_PATH'],
31
- '/usr/local/lib/ssl/certs',
32
- '/usr/local/ssl/certs',
33
- '/opt/local/lib/ssl/certs',
34
- '/opt/local/ssl/certs',
35
- '/usr/lib/ssl/certs',
36
- '/usr/ssl/certs',
37
- '/etc/ssl/certs'
38
- ]
39
- ENV['SSL_CERT_FILE'] = nil
40
- ENV['SSL_CERT_DIR'] = nil
41
- for location in common_ca_file_locations
42
- if location && File.exist?(location)
43
- ENV['SSL_CERT_FILE'] = File.expand_path(location)
44
- break
45
- end
46
- end
47
- unless ENV['SSL_CERT_FILE']
48
- for location in common_ca_path_locations
49
- if location && File.exist?(location)
50
- ENV['SSL_CERT_DIR'] = File.expand_path(location)
51
- break
52
- end
53
- end
54
- end
55
- end