youlend 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.rspec +4 -0
- data/.rubocop.yml +52 -0
- data/.ruby-version +1 -0
- data/.travis.yml +0 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +107 -0
- data/README.md +2 -0
- data/Rakefile +8 -0
- data/bin/console +27 -0
- data/lib/youlend.rb +24 -0
- data/lib/youlend/auth.rb +59 -0
- data/lib/youlend/configuration.rb +28 -0
- data/lib/youlend/connection.rb +69 -0
- data/lib/youlend/lead.rb +23 -0
- data/lib/youlend/lead_generator.rb +63 -0
- data/lib/youlend/merchant.rb +0 -0
- data/lib/youlend/merchant_generator.rb +82 -0
- data/lib/youlend/path_sanitizer.rb +13 -0
- data/lib/youlend/quote.rb +30 -0
- data/lib/youlend/response.rb +28 -0
- data/lib/youlend/version.rb +5 -0
- data/vcr_cassettes/auth_incorrect.yml +84 -0
- data/vcr_cassettes/auth_onboarding_correct.yml +86 -0
- data/vcr_cassettes/auth_prequalification_correct.yml +86 -0
- data/vcr_cassettes/lead_create_correct.yml +170 -0
- data/vcr_cassettes/lead_create_incorrect.yml +169 -0
- data/vcr_cassettes/pre_qualification_incomplete.yml +121 -0
- data/vcr_cassettes/prequalification_correct.yml +169 -0
- data/vcr_cassettes/prequalification_incorrect.yml +167 -0
- data/vcr_cassettes/prequalification_rejection.yml +164 -0
- data/youlend.gemspec +46 -0
- metadata +299 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faker'
|
4
|
+
|
5
|
+
module Youlend
|
6
|
+
class LeadGenerator
|
7
|
+
def self.generate
|
8
|
+
new.generate
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
Faker::Config.locale = 'en-GB'
|
13
|
+
|
14
|
+
generate
|
15
|
+
end
|
16
|
+
|
17
|
+
# Mandatory fields:
|
18
|
+
# * CompanyName
|
19
|
+
# * CompanyType (ltd, plc, llp, dac, soleTrader, aps, as, ks, ivs and is)
|
20
|
+
# * MonthsTrading
|
21
|
+
# * CountryISOCode (GBR, DNK and IRE)
|
22
|
+
# * KeyContactName
|
23
|
+
# * ThirdPartyLeadId
|
24
|
+
# * RegisteredAddress
|
25
|
+
# * ContactPhoneNumber
|
26
|
+
# * MonthlyCardRevenue (must be greater than or equal to '1000')
|
27
|
+
# * ContactEmailAddress
|
28
|
+
# * LoanCurrencyISOCode (ISO 4217 currency code. Valid codes are GBP, EUR and DKK)
|
29
|
+
# * ThirdPartyCustomerId
|
30
|
+
def generate
|
31
|
+
{
|
32
|
+
companyName: 'HOKO LTD',
|
33
|
+
companyType: 'ltd',
|
34
|
+
monthsTrading: rand(3..10),
|
35
|
+
countryISOCode: 'GBR',
|
36
|
+
keyContactName: Faker::Name.name,
|
37
|
+
thirdPartyLeadId: SecureRandom.uuid,
|
38
|
+
registeredAddress: address,
|
39
|
+
contactPhoneNumber: Faker::PhoneNumber.phone_number,
|
40
|
+
monthlyCardRevenue: 10_000,
|
41
|
+
contactEmailAddress: Faker::Internet.email,
|
42
|
+
loanCurrencyISOCode: 'GBP',
|
43
|
+
thirdPartyCustomerId: SecureRandom.uuid,
|
44
|
+
companyNumber: '09525857', # optional
|
45
|
+
notificationURL: Faker::Internet.url, # optional
|
46
|
+
thirdPartyMerchantId: SecureRandom.uuid # optional
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def address
|
53
|
+
{
|
54
|
+
line1: Faker::Address.street_address,
|
55
|
+
line2: Faker::Address.secondary_address,
|
56
|
+
city: 'London',
|
57
|
+
region: 'London',
|
58
|
+
areaCode: Faker::Address.zip_code,
|
59
|
+
country: 'UK'
|
60
|
+
}
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
File without changes
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faker'
|
4
|
+
|
5
|
+
module Youlend
|
6
|
+
class MerchantGenerator
|
7
|
+
def self.generate
|
8
|
+
new.generate
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
Faker::Config.locale = 'en-GB'
|
13
|
+
|
14
|
+
generate
|
15
|
+
end
|
16
|
+
|
17
|
+
# Mandatory fields:
|
18
|
+
# * CompanyName
|
19
|
+
# * CompanyType (ltd, plc, llp, dac, partnership, soleTrader, aps, as, ks, ivs and is)
|
20
|
+
# * CompanyNumber
|
21
|
+
# * FinancialData
|
22
|
+
# * CountryISOCode (GBR, DNK and IRE)
|
23
|
+
# * LoanCurrencyISOCode (ISO 4217 currency code. Valid codes are GBP, EUR and DKK)
|
24
|
+
# * ThirdPartyMerchantId
|
25
|
+
def generate
|
26
|
+
{
|
27
|
+
companyName: 'HOKO LTD',
|
28
|
+
companyType: 'ltd',
|
29
|
+
companyNumber: '09525857',
|
30
|
+
financialData: financial_data,
|
31
|
+
countryISOCode: 'GBR',
|
32
|
+
loanCurrencyISOCode: 'GBP',
|
33
|
+
thirdPartyMerchantId: SecureRandom.uuid,
|
34
|
+
significantPersons: [significant_person], # optional
|
35
|
+
contactEmailAddress: 'oterosantos@gmail.com' # optional
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def financial_data
|
42
|
+
{
|
43
|
+
monthlyCardRevenue: 0,
|
44
|
+
monthlyValueOfPurchaseTransactions: 0,
|
45
|
+
monthlyRevenueFromInvoices: 0,
|
46
|
+
paymentData: payment_data
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
def payment_data
|
51
|
+
(1..12).to_a.map do |month|
|
52
|
+
formatted_month = format('%02<month>d', month: month)
|
53
|
+
|
54
|
+
{
|
55
|
+
paymentDate: "#{Date.today.year - 1}-#{formatted_month}-01",
|
56
|
+
amount: 5000,
|
57
|
+
currencyISOCode: 'GBP'
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def significant_person
|
63
|
+
{
|
64
|
+
firstName: Faker::Name.first_name,
|
65
|
+
surname: Faker::Name.last_name,
|
66
|
+
address: address,
|
67
|
+
dateOfBirth: Date.parse('1980-01-01').to_s
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
def address
|
72
|
+
{
|
73
|
+
line1: Faker::Address.street_address,
|
74
|
+
line2: Faker::Address.secondary_address,
|
75
|
+
city: 'London',
|
76
|
+
region: 'London',
|
77
|
+
areaCode: Faker::Address.zip_code,
|
78
|
+
country: 'UK'
|
79
|
+
}
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Youlend
|
4
|
+
class PathSanitizer
|
5
|
+
# Removes any leading '/' and guarantees an ending '/'
|
6
|
+
def self.sanitize(path)
|
7
|
+
parts = path.split('/').reject(&:empty?)
|
8
|
+
new_path = parts.join('/')
|
9
|
+
|
10
|
+
[new_path, '/'].join
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Following the API description here: https://staging.youlendapi.com/prequalification/index.html
|
4
|
+
module Youlend
|
5
|
+
class Quote
|
6
|
+
def self.pre_qualification(params)
|
7
|
+
response = Youlend.connection.post('/prequalification/Requests', :prequalification, params)
|
8
|
+
|
9
|
+
# If we got back a response but all the funded amounts are 0.0 it means that the load was
|
10
|
+
# actually rejected! We'll replace the response body with an error message instead and change
|
11
|
+
# the success code.
|
12
|
+
if loan_accepted?(response.body)
|
13
|
+
response
|
14
|
+
else
|
15
|
+
response.http_response.env.status = 422
|
16
|
+
response.http_response.env.body = { error: 'Rejected', error_description: 'Loan was rejected' }
|
17
|
+
response
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.loan_accepted?(data)
|
22
|
+
return false unless data[:loanOptions]
|
23
|
+
options = data[:loanOptions]
|
24
|
+
|
25
|
+
funded_amounts = options.map { |option| option[:fundedAmount] }
|
26
|
+
|
27
|
+
funded_amounts.any?(&:positive?)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'forwardable'
|
4
|
+
|
5
|
+
module Youlend
|
6
|
+
class Response
|
7
|
+
extend Forwardable
|
8
|
+
|
9
|
+
attr_reader :http_response
|
10
|
+
def_delegators :@http_response, :headers, :body, :status, :success?
|
11
|
+
|
12
|
+
def initialize(http_response)
|
13
|
+
@http_response = http_response
|
14
|
+
end
|
15
|
+
|
16
|
+
def unauthorized?
|
17
|
+
status == 401
|
18
|
+
end
|
19
|
+
|
20
|
+
def token_expired?
|
21
|
+
auth_header = @http_response.headers['www-authenticate']
|
22
|
+
|
23
|
+
return false unless auth_header
|
24
|
+
|
25
|
+
auth_header.match?(/.*token is expired.*/)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://youlend-stag.eu.auth0.com/oauth/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"client_credentials","client_id":"test","client_secret":null,"audience":"/prequalification"}'
|
9
|
+
headers:
|
10
|
+
Content-Type:
|
11
|
+
- application/json
|
12
|
+
User-Agent:
|
13
|
+
- ruby-youlend-1.0.0
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 401
|
21
|
+
message: Unauthorized
|
22
|
+
headers:
|
23
|
+
Date:
|
24
|
+
- Tue, 02 Feb 2021 13:30:34 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Content-Length:
|
28
|
+
- '60'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Set-Cookie:
|
32
|
+
- __cf_bm=b86d644328e734a89744d6ab0c5ab572c0111eb1-1612272634-1800-AcGEpbRAnosUxswpSXM+JAqOBtuUgVfOzH1IugvEMHcHIsTDjoQ1XXEiXASfhswbTP1gXQLtpq79QNhCRMd3i88=;
|
33
|
+
path=/; expires=Tue, 02-Feb-21 14:00:34 GMT; domain=.eu.auth0.com; HttpOnly;
|
34
|
+
Secure; SameSite=None
|
35
|
+
- __cfduid=db76a7c8db86f5fd148669281a4fd0fca1612272634; expires=Thu, 04-Mar-21
|
36
|
+
13:30:34 GMT; path=/; domain=.eu.auth0.com; HttpOnly; SameSite=Lax; Secure
|
37
|
+
- did=s%3Av0%3Ad446bdc0-655a-11eb-9745-d92175d2cd95.IicDICUYKjaHmwetynHVcGPlmOwmulS%2BU6pKfHrGcvE;
|
38
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:30:34 GMT; HttpOnly;
|
39
|
+
Secure; SameSite=None
|
40
|
+
- did_compat=s%3Av0%3Ad446bdc0-655a-11eb-9745-d92175d2cd95.IicDICUYKjaHmwetynHVcGPlmOwmulS%2BU6pKfHrGcvE;
|
41
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:30:34 GMT; HttpOnly;
|
42
|
+
Secure
|
43
|
+
Cf-Ray:
|
44
|
+
- 61b4447ece99da6a-LIS
|
45
|
+
Cache-Control:
|
46
|
+
- private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=31536000
|
49
|
+
Cf-Cache-Status:
|
50
|
+
- DYNAMIC
|
51
|
+
Cf-Request-Id:
|
52
|
+
- '080489233a0000da6ab2a8b000000001'
|
53
|
+
Expect-Ct:
|
54
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
55
|
+
Ot-Baggage-Auth0-Request-Id:
|
56
|
+
- 61b4447ece99da6a
|
57
|
+
Ot-Tracer-Sampled:
|
58
|
+
- 'true'
|
59
|
+
Ot-Tracer-Spanid:
|
60
|
+
- 7ca1b23302f70745
|
61
|
+
Ot-Tracer-Traceid:
|
62
|
+
- 4774272523010f8a
|
63
|
+
X-Auth0-Requestid:
|
64
|
+
- 9105d826c668167fdfd4
|
65
|
+
X-Content-Type-Options:
|
66
|
+
- nosniff
|
67
|
+
X-Ratelimit-Limit:
|
68
|
+
- '30'
|
69
|
+
X-Ratelimit-Remaining:
|
70
|
+
- '29'
|
71
|
+
X-Ratelimit-Reset:
|
72
|
+
- '1612272635'
|
73
|
+
Vary:
|
74
|
+
- Accept-Encoding
|
75
|
+
Server:
|
76
|
+
- cloudflare
|
77
|
+
Alt-Svc:
|
78
|
+
- h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400
|
79
|
+
body:
|
80
|
+
encoding: UTF-8
|
81
|
+
string: '{"error":"access_denied","error_description":"Unauthorized"}'
|
82
|
+
http_version:
|
83
|
+
recorded_at: Tue, 02 Feb 2021 13:30:34 GMT
|
84
|
+
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,86 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://youlend-stag.eu.auth0.com/oauth/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"client_credentials","client_id":"<CLIENT_ID>","client_secret":"<CLIENT_SECRET>","audience":"https://staging.youlendapi.com/onboarding"}'
|
9
|
+
headers:
|
10
|
+
Content-Type:
|
11
|
+
- application/json
|
12
|
+
User-Agent:
|
13
|
+
- ruby-youlend-1.0.0
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Date:
|
24
|
+
- Tue, 02 Feb 2021 13:24:57 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Set-Cookie:
|
32
|
+
- __cf_bm=e6a4378af86d22825e034680d08e42422cad86a0-1612272297-1800-AcsFVk6Zv0PJF3XHlWZ8G77qJ8cvjPf6Aku6MvwFjMinViAvIKbeV3urOJ3KxhRsxRt1g/woJ0OywLZhWe4Smkw=;
|
33
|
+
path=/; expires=Tue, 02-Feb-21 13:54:57 GMT; domain=.eu.auth0.com; HttpOnly;
|
34
|
+
Secure; SameSite=None
|
35
|
+
- __cfduid=d0401db464e44077ae99de37e2a271a0f1612272296; expires=Thu, 04-Mar-21
|
36
|
+
13:24:56 GMT; path=/; domain=.eu.auth0.com; HttpOnly; SameSite=Lax; Secure
|
37
|
+
- did=s%3Av0%3A0af87850-655a-11eb-98e7-893d431ee561.a4UtjYsy2su3wNuzKHvF5c6FwubT%2Bdtr3hwRaI1cK%2F4;
|
38
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:24:57 GMT; HttpOnly;
|
39
|
+
Secure; SameSite=None
|
40
|
+
- did_compat=s%3Av0%3A0af87850-655a-11eb-98e7-893d431ee561.a4UtjYsy2su3wNuzKHvF5c6FwubT%2Bdtr3hwRaI1cK%2F4;
|
41
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:24:57 GMT; HttpOnly;
|
42
|
+
Secure
|
43
|
+
Cf-Ray:
|
44
|
+
- 61b43c400c3d5d43-LIS
|
45
|
+
Cache-Control:
|
46
|
+
- no-store
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=31536000
|
49
|
+
Vary:
|
50
|
+
- Accept-Encoding
|
51
|
+
Cf-Cache-Status:
|
52
|
+
- DYNAMIC
|
53
|
+
Cf-Request-Id:
|
54
|
+
- '080483fc0a00005d43a9a02000000001'
|
55
|
+
Expect-Ct:
|
56
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
57
|
+
Ot-Baggage-Auth0-Request-Id:
|
58
|
+
- 61b43c400c3d5d43
|
59
|
+
Ot-Tracer-Sampled:
|
60
|
+
- 'true'
|
61
|
+
Ot-Tracer-Spanid:
|
62
|
+
- 1176407e7e758d00
|
63
|
+
Ot-Tracer-Traceid:
|
64
|
+
- 3f5af5df1055e780
|
65
|
+
Pragma:
|
66
|
+
- no-cache
|
67
|
+
X-Auth0-Requestid:
|
68
|
+
- 770c64fa80205df8e5b4
|
69
|
+
X-Content-Type-Options:
|
70
|
+
- nosniff
|
71
|
+
X-Ratelimit-Limit:
|
72
|
+
- '30'
|
73
|
+
X-Ratelimit-Remaining:
|
74
|
+
- '29'
|
75
|
+
X-Ratelimit-Reset:
|
76
|
+
- '1612272298'
|
77
|
+
Server:
|
78
|
+
- cloudflare
|
79
|
+
Alt-Svc:
|
80
|
+
- h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400
|
81
|
+
body:
|
82
|
+
encoding: ASCII-8BIT
|
83
|
+
string: '{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik0wUXdOMEl5TnpRMVJrRXhNa1pGTlVWRU5UQTJRalV6UWtRMVJUY3dORE0xUVVVM05rTkVRZyJ9.eyJodHRwOi8veW91bGVuZC5jb20vY2xhaW1zL2xlbmRpbmdQYXJ0bmVySWQiOiJkOGJmZTcwMy1lODBlLTRlMzUtYmFhYS1mZDk2MWU3ZGZlZTkiLCJpc3MiOiJodHRwczovL3lvdWxlbmQtc3RhZy5ldS5hdXRoMC5jb20vIiwic3ViIjoidXpLVEcyQ0NBZkFZQ0pGU0I3N3ZXRlVOelVOOHZxdlhAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vc3RhZ2luZy55b3VsZW5kYXBpLmNvbS9vbmJvYXJkaW5nIiwiaWF0IjoxNjEyMjcyMjk3LCJleHAiOjE2MTIzNTg2OTcsImF6cCI6InV6S1RHMkNDQWZBWUNKRlNCNzd2V0ZVTnpVTjh2cXZYIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIn0.lcYAhbXgtTnOBE528d5mPu7CD_FUefSnRwIK9u1rdg-CcRCflLmesALTJjS-VbE0kotT_PAU9n2CuLAbsK3XbORkg8doxKZG_1mNeSxuqCYrcd-nOPtxnKUXuRrCIZoogzmt9gt350skue_6YSKVjqeqeGetzyOdoitiJEms2rkuzMqkfNlTqouXKjYKHFIG6tUg4oBUlrvjwDvAXaLmZIyxpSkihrqCG2_5cvzrmtZmffwJvFtPVYKyufgtZm66NIPiitw_NfTtcU1ZggPBgJyjjGJKL6XD--mJqoaGEzWUncyJEOuONmqm_m_H0LuCfb5OQMLkDbQuqo_fwsixfA","expires_in":86400,"token_type":"Bearer"}'
|
84
|
+
http_version:
|
85
|
+
recorded_at: Tue, 02 Feb 2021 13:24:57 GMT
|
86
|
+
recorded_with: VCR 5.0.0
|
@@ -0,0 +1,86 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://youlend-stag.eu.auth0.com/oauth/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"client_credentials","client_id":"<CLIENT_ID>","client_secret":"<CLIENT_SECRET>","audience":"https://staging.youlendapi.com/prequalification"}'
|
9
|
+
headers:
|
10
|
+
Content-Type:
|
11
|
+
- application/json
|
12
|
+
User-Agent:
|
13
|
+
- ruby-youlend-1.0.0
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Date:
|
24
|
+
- Tue, 02 Feb 2021 13:24:56 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Set-Cookie:
|
32
|
+
- __cf_bm=1f04630e67aebd3e63c5ae209b26c60da4cebc96-1612272296-1800-AdPv0nCo/T4gCqXZONdqjcajKW+5GA8gigo3PBVPwP9olp1ZX6yXJmJJHCDL3+Upyon3Vtg+uwZV+xYQR6VCteA=;
|
33
|
+
path=/; expires=Tue, 02-Feb-21 13:54:56 GMT; domain=.eu.auth0.com; HttpOnly;
|
34
|
+
Secure; SameSite=None
|
35
|
+
- __cfduid=d0091f13a90105b0ec98405f0a18a34981612272296; expires=Thu, 04-Mar-21
|
36
|
+
13:24:56 GMT; path=/; domain=.eu.auth0.com; HttpOnly; SameSite=Lax; Secure
|
37
|
+
- did=s%3Av0%3A0ac50c40-655a-11eb-809c-3d9d54edece8.Msqyby98z4gqYXI9LxAWrR2xCemhgYWy8FphAoEUNlA;
|
38
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:24:56 GMT; HttpOnly;
|
39
|
+
Secure; SameSite=None
|
40
|
+
- did_compat=s%3Av0%3A0ac50c40-655a-11eb-809c-3d9d54edece8.Msqyby98z4gqYXI9LxAWrR2xCemhgYWy8FphAoEUNlA;
|
41
|
+
Max-Age=31557600; Path=/; Expires=Wed, 02 Feb 2022 19:24:56 GMT; HttpOnly;
|
42
|
+
Secure
|
43
|
+
Cf-Ray:
|
44
|
+
- 61b43c3d3ec0da6e-LIS
|
45
|
+
Cache-Control:
|
46
|
+
- no-store
|
47
|
+
Strict-Transport-Security:
|
48
|
+
- max-age=31536000
|
49
|
+
Vary:
|
50
|
+
- Accept-Encoding
|
51
|
+
Cf-Cache-Status:
|
52
|
+
- DYNAMIC
|
53
|
+
Cf-Request-Id:
|
54
|
+
- '080483fa430000da6eb7b8a000000001'
|
55
|
+
Expect-Ct:
|
56
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
57
|
+
Ot-Baggage-Auth0-Request-Id:
|
58
|
+
- 61b43c3d3ec0da6e
|
59
|
+
Ot-Tracer-Sampled:
|
60
|
+
- 'true'
|
61
|
+
Ot-Tracer-Spanid:
|
62
|
+
- 625d9fdc0482fd38
|
63
|
+
Ot-Tracer-Traceid:
|
64
|
+
- 70edb07403066d5e
|
65
|
+
Pragma:
|
66
|
+
- no-cache
|
67
|
+
X-Auth0-Requestid:
|
68
|
+
- 48a985195b00b3397482
|
69
|
+
X-Content-Type-Options:
|
70
|
+
- nosniff
|
71
|
+
X-Ratelimit-Limit:
|
72
|
+
- '30'
|
73
|
+
X-Ratelimit-Remaining:
|
74
|
+
- '29'
|
75
|
+
X-Ratelimit-Reset:
|
76
|
+
- '1612272297'
|
77
|
+
Server:
|
78
|
+
- cloudflare
|
79
|
+
Alt-Svc:
|
80
|
+
- h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400
|
81
|
+
body:
|
82
|
+
encoding: ASCII-8BIT
|
83
|
+
string: '{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik0wUXdOMEl5TnpRMVJrRXhNa1pGTlVWRU5UQTJRalV6UWtRMVJUY3dORE0xUVVVM05rTkVRZyJ9.eyJodHRwOi8veW91bGVuZC5jb20vY2xhaW1zL2xlbmRpbmdQYXJ0bmVySWQiOiJkOGJmZTcwMy1lODBlLTRlMzUtYmFhYS1mZDk2MWU3ZGZlZTkiLCJpc3MiOiJodHRwczovL3lvdWxlbmQtc3RhZy5ldS5hdXRoMC5jb20vIiwic3ViIjoidXpLVEcyQ0NBZkFZQ0pGU0I3N3ZXRlVOelVOOHZxdlhAY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vc3RhZ2luZy55b3VsZW5kYXBpLmNvbS9wcmVxdWFsaWZpY2F0aW9uIiwiaWF0IjoxNjEyMjcyMjk2LCJleHAiOjE2MTIzNTg2OTYsImF6cCI6InV6S1RHMkNDQWZBWUNKRlNCNzd2V0ZVTnpVTjh2cXZYIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIn0.ZSyjtXprsNihqIaCfB5JXjwPhBEi41VDyiWmZMu4XIBNrojuqYXnEljwFQIVEM9IiXrDMFx-b9RqLu1CyNtNKqexbIylQ6_jALCyENCeapXZ-MrHTPCPBs8NdnISeRNah-uvT0bMnOVUzpXW6D99aCoGp2LyLAPwqG-kbI05xpKuX_dtMn43To-67-0VCZijJBOT6fip5uJf7m1VTgHc7_Wc4B8gTYl0WUwtZokBqcviD0AzkQxShsdMI1vDZdXPvya475d1F-nfHg0XT4YJKoaJ8tvdClmBcUA4vJrHb1kN6mW7eGpcL-71fzwffJnZViras3FyY7_QOxUNn7FotA","expires_in":86400,"token_type":"Bearer"}'
|
84
|
+
http_version:
|
85
|
+
recorded_at: Tue, 02 Feb 2021 13:24:56 GMT
|
86
|
+
recorded_with: VCR 5.0.0
|