killbill-client 3.0.0 → 3.3.1
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 +4 -4
- data/.circleci/config.yml +15 -109
- data/.github/CONTRIBUTING.md +20 -0
- data/.github/FUNDING.yml +3 -0
- data/.github/workflows/ci.yml +145 -0
- data/.github/workflows/release.yml +46 -0
- data/README.md +32 -1
- data/bin/retry +21 -0
- data/docker/docker-compose.ci.mysql.yml +21 -0
- data/docker/docker-compose.ci.postgresql.yml +21 -0
- data/killbill_client.gemspec +2 -1
- data/lib/killbill_client.rb +2 -0
- data/lib/killbill_client/api/api.rb +1 -1
- data/lib/killbill_client/api/net_http_adapter.rb +13 -2
- data/lib/killbill_client/models/account.rb +3 -5
- data/lib/killbill_client/models/credit.rb +5 -5
- data/lib/killbill_client/models/custom_field.rb +17 -0
- data/lib/killbill_client/models/gen/invoice_attributes.rb +1 -0
- data/lib/killbill_client/models/gen/invoice_item_attributes.rb +1 -0
- data/lib/killbill_client/models/gen/overdue_state_attributes.rb +0 -1
- data/lib/killbill_client/models/gen/require_gen.rb +52 -53
- data/lib/killbill_client/models/gen/subscription_attributes.rb +1 -0
- data/lib/killbill_client/models/helpers/custom_field_helper.rb +1 -1
- data/lib/killbill_client/models/invoice.rb +4 -7
- data/lib/killbill_client/models/subscription.rb +10 -0
- data/lib/killbill_client/version.rb +1 -16
- data/spec/killbill_client/http_adapter_spec.rb +32 -0
- data/spec/killbill_client/remote/model_spec.rb +15 -11
- metadata +25 -8
- data/lib/killbill_client/models/gen/block_price_override_attributes.rb +0 -37
- data/lib/killbill_client/models/gen/credit_attributes.rb +0 -43
- data/lib/killbill_client/models/gen/phase_price_override_attributes.rb +0 -39
- data/lib/killbill_client/models/gen/tier_price_override_attributes.rb +0 -34
- data/lib/killbill_client/models/gen/usage_price_override_attributes.rb +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03e77573407a78aef2165e380bc7e1d0f672b53d
|
4
|
+
data.tar.gz: 27e12ebd3c57f128cdd181c16e77e19d4be9daa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88715661ffaa19c983d3c0ba9a091cbd4c8cd9a242675de0e44a43c8d9cbf6aad172620a1902d545c6d6ec0964cf161bcb5793b7f69f7a2cb50cc8315db2994b
|
7
|
+
data.tar.gz: 5d199dffd09feffc3a02c83b9e886c29ba84c6d8317603146eff9e931d708cb69aed72c763b9ac5c38de46ac6632ad697c9c4ce94ceee83128fe2cfbdddf3ad1
|
data/.circleci/config.yml
CHANGED
@@ -5,90 +5,10 @@ defaults: &defaults
|
|
5
5
|
|
6
6
|
version: 2
|
7
7
|
jobs:
|
8
|
-
build-jruby-1.7.26:
|
9
|
-
<<: *defaults
|
10
|
-
docker:
|
11
|
-
- image: killbill/kbbuild:0.5.0
|
12
|
-
steps:
|
13
|
-
- checkout
|
14
|
-
- restore_cache:
|
15
|
-
key: v2-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "killbill_client.gemspec" }}
|
16
|
-
- run:
|
17
|
-
name: Install gem dependencies
|
18
|
-
command: |
|
19
|
-
bundle install --jobs=4 --retry=3 --path=vendor/bundle
|
20
|
-
- save_cache:
|
21
|
-
paths:
|
22
|
-
- Gemfile.lock
|
23
|
-
- .bundle
|
24
|
-
- vendor/bundle
|
25
|
-
key: v2-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "killbill_client.gemspec" }}
|
26
|
-
|
27
|
-
test-mysql-jruby-1.7.26:
|
28
|
-
<<: *defaults
|
29
|
-
docker:
|
30
|
-
- image: killbill/kbbuild:0.5.0
|
31
|
-
- image: killbill/killbill:0.19.18
|
32
|
-
- image: killbill/mariadb:0.19
|
33
|
-
environment:
|
34
|
-
- MYSQL_ROOT_PASSWORD=root
|
35
|
-
steps:
|
36
|
-
- checkout
|
37
|
-
- restore_cache:
|
38
|
-
key: v2-dependencies-jruby-1.7.26-{{ .Branch }}-{{ checksum "killbill_client.gemspec" }}
|
39
|
-
- run:
|
40
|
-
name: Setup DDL
|
41
|
-
command: |
|
42
|
-
set +e
|
43
|
-
count=0
|
44
|
-
until mysqladmin ping -h 127.0.0.1 -u root --password=root --silent; do
|
45
|
-
if [[ "$count" == "25" ]]; then
|
46
|
-
exit 1
|
47
|
-
fi
|
48
|
-
(( count++ ))
|
49
|
-
printf '.'
|
50
|
-
sleep 5
|
51
|
-
done
|
52
|
-
set -e
|
53
|
-
- run:
|
54
|
-
name: Setup Kill Bill
|
55
|
-
command: |
|
56
|
-
set +e
|
57
|
-
count=0
|
58
|
-
until $(curl --output /dev/null --silent --fail http://127.0.0.1:8080/1.0/healthcheck); do
|
59
|
-
if [[ "$count" == "25" ]]; then
|
60
|
-
exit 1
|
61
|
-
fi
|
62
|
-
(( count++ ))
|
63
|
-
|
64
|
-
printf '.'
|
65
|
-
sleep 5
|
66
|
-
done
|
67
|
-
set -e
|
68
|
-
curl -v \
|
69
|
-
-X POST \
|
70
|
-
-u admin:password \
|
71
|
-
-H 'Content-Type: application/json' \
|
72
|
-
-H 'X-Killbill-CreatedBy: CircleCI' \
|
73
|
-
-d '{"apiKey": "bob", "apiSecret": "lazar"}' \
|
74
|
-
"http://127.0.0.1:8080/1.0/kb/tenants?useGlobalDefault=true"
|
75
|
-
- run:
|
76
|
-
name: Run tests
|
77
|
-
command: |
|
78
|
-
mkdir /tmp/test-results
|
79
|
-
bundle exec rspec --format documentation \
|
80
|
-
--out /tmp/test-results/rspec.txt \
|
81
|
-
$(circleci tests glob "spec/**/*_spec.rb")
|
82
|
-
- store_test_results:
|
83
|
-
path: /tmp/test-results
|
84
|
-
- store_artifacts:
|
85
|
-
path: /tmp/test-results
|
86
|
-
destination: test-results
|
87
|
-
|
88
8
|
build-ruby-2.2.2:
|
89
9
|
<<: *defaults
|
90
10
|
docker:
|
91
|
-
- image: killbill/kbbuild:0.
|
11
|
+
- image: killbill/kbbuild:0.6.0
|
92
12
|
steps:
|
93
13
|
- checkout
|
94
14
|
- restore_cache:
|
@@ -109,9 +29,9 @@ jobs:
|
|
109
29
|
test-mysql-ruby-2.2.2:
|
110
30
|
<<: *defaults
|
111
31
|
docker:
|
112
|
-
- image: killbill/kbbuild:0.
|
113
|
-
- image: killbill/killbill:0.
|
114
|
-
- image: killbill/mariadb:0.
|
32
|
+
- image: killbill/kbbuild:0.6.0
|
33
|
+
- image: killbill/killbill:0.21.9
|
34
|
+
- image: killbill/mariadb:0.21
|
115
35
|
environment:
|
116
36
|
- MYSQL_ROOT_PASSWORD=root
|
117
37
|
steps:
|
@@ -172,7 +92,7 @@ jobs:
|
|
172
92
|
build-ruby-2.4.2:
|
173
93
|
<<: *defaults
|
174
94
|
docker:
|
175
|
-
- image: killbill/kbbuild:0.
|
95
|
+
- image: killbill/kbbuild:0.6.0
|
176
96
|
steps:
|
177
97
|
- checkout
|
178
98
|
- restore_cache:
|
@@ -193,9 +113,9 @@ jobs:
|
|
193
113
|
test-mysql-ruby-2.4.2:
|
194
114
|
<<: *defaults
|
195
115
|
docker:
|
196
|
-
- image: killbill/kbbuild:0.
|
197
|
-
- image: killbill/killbill:0.
|
198
|
-
- image: killbill/mariadb:0.
|
116
|
+
- image: killbill/kbbuild:0.6.0
|
117
|
+
- image: killbill/killbill:0.21.9
|
118
|
+
- image: killbill/mariadb:0.21
|
199
119
|
environment:
|
200
120
|
- MYSQL_ROOT_PASSWORD=root
|
201
121
|
steps:
|
@@ -256,7 +176,7 @@ jobs:
|
|
256
176
|
build-jruby-9.1.14.0:
|
257
177
|
<<: *defaults
|
258
178
|
docker:
|
259
|
-
- image: killbill/kbbuild:0.
|
179
|
+
- image: killbill/kbbuild:0.6.0
|
260
180
|
steps:
|
261
181
|
- checkout
|
262
182
|
- restore_cache:
|
@@ -277,9 +197,9 @@ jobs:
|
|
277
197
|
test-mysql-jruby-9.1.14.0:
|
278
198
|
<<: *defaults
|
279
199
|
docker:
|
280
|
-
- image: killbill/kbbuild:0.
|
281
|
-
- image: killbill/killbill:0.
|
282
|
-
- image: killbill/mariadb:0.
|
200
|
+
- image: killbill/kbbuild:0.6.0
|
201
|
+
- image: killbill/killbill:0.21.9
|
202
|
+
- image: killbill/mariadb:0.21
|
283
203
|
environment:
|
284
204
|
- MYSQL_ROOT_PASSWORD=root
|
285
205
|
steps:
|
@@ -340,32 +260,18 @@ workflows:
|
|
340
260
|
version: 2
|
341
261
|
build-and-test:
|
342
262
|
jobs:
|
343
|
-
# Kill Bill plugins
|
344
|
-
- build-jruby-1.7.26
|
345
263
|
# Self-contained KPM
|
346
|
-
- build-ruby-2.2.2
|
347
|
-
requires:
|
348
|
-
- build-jruby-1.7.26
|
264
|
+
- build-ruby-2.2.2
|
349
265
|
# Kaui and other gems
|
350
|
-
- build-ruby-2.4.2
|
351
|
-
requires:
|
352
|
-
- build-jruby-1.7.26
|
266
|
+
- build-ruby-2.4.2
|
353
267
|
# Self-contained Kaui
|
354
|
-
- build-jruby-9.1.14.0
|
355
|
-
requires:
|
356
|
-
- build-jruby-1.7.26
|
357
|
-
- test-mysql-jruby-1.7.26:
|
358
|
-
requires:
|
359
|
-
- build-jruby-1.7.26
|
268
|
+
- build-jruby-9.1.14.0
|
360
269
|
- test-mysql-ruby-2.2.2:
|
361
270
|
requires:
|
362
271
|
- build-ruby-2.2.2
|
363
|
-
- test-mysql-jruby-1.7.26
|
364
272
|
- test-mysql-ruby-2.4.2:
|
365
273
|
requires:
|
366
274
|
- build-ruby-2.4.2
|
367
|
-
- test-mysql-jruby-1.7.26
|
368
275
|
- test-mysql-jruby-9.1.14.0:
|
369
276
|
requires:
|
370
277
|
- build-jruby-9.1.14.0
|
371
|
-
- test-mysql-jruby-1.7.26
|
@@ -0,0 +1,20 @@
|
|
1
|
+
## How to contribute to Kill Bill
|
2
|
+
|
3
|
+
**Do not open up a GitHub issue before reaching out to our [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users)**. GitHub issues are primarily intended for tracking bug reports and fixes by the core team.
|
4
|
+
|
5
|
+
#### **Did you find a bug?**
|
6
|
+
|
7
|
+
In your [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users) post, specify:
|
8
|
+
|
9
|
+
* Step by step description on how to reproduce the issue
|
10
|
+
* [Account data and system dump](http://docs.killbill.io/0.19/debugging.html#_seeking_help) via KPM of an affected account
|
11
|
+
|
12
|
+
#### **Do you intend to add a new feature or change an existing one?**
|
13
|
+
|
14
|
+
Do not open an issue or pull request on GitHub until you have collected positive feedback about the change on the [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users).
|
15
|
+
|
16
|
+
When submitting code, make sure to add [new tests](http://docs.killbill.io/0.19/development.html#_navigating_the_kill_bill_codebase).
|
17
|
+
|
18
|
+
#### **Do you want to contribute to the Kill Bill documentation?**
|
19
|
+
|
20
|
+
Open a pull request on GitHub in the [killbill-docs](https://github.com/killbill/killbill-docs) repository.
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
name: ci
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
workflow_dispatch:
|
6
|
+
|
7
|
+
env:
|
8
|
+
COMPOSE_DOCKER_CLI_BUILD: 1
|
9
|
+
DB_NAME: kaui
|
10
|
+
DOCKER_BUILDKIT: 1
|
11
|
+
JRUBY_OPTS: --2.0 -J-Xmx1024M
|
12
|
+
KB_ADDRESS: 127.0.0.1
|
13
|
+
KB_PORT: 8080
|
14
|
+
RAILS_ENV: test
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
strategy:
|
20
|
+
matrix:
|
21
|
+
include:
|
22
|
+
- ruby-version: '2.4.2'
|
23
|
+
database-adapter: 'mysql2'
|
24
|
+
database-user: 'root'
|
25
|
+
database-password: 'root'
|
26
|
+
database-port: '3306'
|
27
|
+
docker-compose-file: 'docker-compose.ci.mysql.yml'
|
28
|
+
- ruby-version: 'jruby-9.1.17.0'
|
29
|
+
database-adapter: 'mysql2'
|
30
|
+
database-user: 'root'
|
31
|
+
database-password: 'root'
|
32
|
+
database-port: '3306'
|
33
|
+
docker-compose-file: 'docker-compose.ci.mysql.yml'
|
34
|
+
- ruby-version: '2.4.2'
|
35
|
+
database-adapter: 'postgresql'
|
36
|
+
database-user: 'postgres'
|
37
|
+
database-password: 'postgres'
|
38
|
+
database-port: '5432'
|
39
|
+
docker-compose-file: 'docker-compose.ci.postgresql.yml'
|
40
|
+
- ruby-version: 'jruby-9.1.17.0'
|
41
|
+
database-adapter: 'postgresql'
|
42
|
+
database-user: 'postgres'
|
43
|
+
database-password: 'postgres'
|
44
|
+
database-port: '5432'
|
45
|
+
docker-compose-file: 'docker-compose.ci.postgresql.yml'
|
46
|
+
steps:
|
47
|
+
- name: Checkout code
|
48
|
+
uses: actions/checkout@v2
|
49
|
+
- name: Set up Ruby
|
50
|
+
uses: ruby/setup-ruby@v1
|
51
|
+
with:
|
52
|
+
ruby-version: ${{ matrix.ruby-version }}
|
53
|
+
bundler-cache: true
|
54
|
+
- name: Start stack
|
55
|
+
run: |
|
56
|
+
cd docker
|
57
|
+
docker-compose -p it -f ${{ matrix.docker-compose-file }} up --no-start
|
58
|
+
docker start it_db_1
|
59
|
+
- name: Wait for MySQL
|
60
|
+
if: ${{ matrix.docker-compose-file == 'docker-compose.ci.mysql.yml' }}
|
61
|
+
run: |
|
62
|
+
set +e
|
63
|
+
count=0
|
64
|
+
until mysqladmin ping -h 127.0.0.1 -u root --password=root --silent; do
|
65
|
+
if [[ "$count" == "25" ]]; then
|
66
|
+
exit 1
|
67
|
+
fi
|
68
|
+
(( count++ ))
|
69
|
+
printf '.'
|
70
|
+
sleep 5
|
71
|
+
done
|
72
|
+
set -e
|
73
|
+
- name: Wait for PostgreSQL
|
74
|
+
if: ${{ matrix.docker-compose-file == 'docker-compose.ci.postgresql.yml' }}
|
75
|
+
run: |
|
76
|
+
set +e
|
77
|
+
count=0
|
78
|
+
until $(psql -h 127.0.0.1 -U postgres -p 5432 -l > /dev/null); do
|
79
|
+
if [[ "$count" == "25" ]]; then
|
80
|
+
exit 1
|
81
|
+
fi
|
82
|
+
(( count++ ))
|
83
|
+
printf '.'
|
84
|
+
sleep 5
|
85
|
+
done
|
86
|
+
set -e
|
87
|
+
- name: Start Kill Bill
|
88
|
+
# Sometimes it gets stuck (if Kill Bill starts when the DB isn't ready?)
|
89
|
+
timeout-minutes: 4
|
90
|
+
run: |
|
91
|
+
docker start it_killbill_1
|
92
|
+
count=0
|
93
|
+
until $(curl --connect-timeout 10 --max-time 30 --output /dev/null --silent --fail http://${KB_ADDRESS}:${KB_PORT}/1.0/healthcheck); do
|
94
|
+
if [[ "$count" == "180" ]]; then
|
95
|
+
exit 64
|
96
|
+
fi
|
97
|
+
count=$(( count + 1 ))
|
98
|
+
sleep 1
|
99
|
+
done
|
100
|
+
curl --connect-timeout 10 --max-time 30 -v \
|
101
|
+
-X POST \
|
102
|
+
-u admin:password \
|
103
|
+
-H 'Content-Type: application/json' \
|
104
|
+
-H 'X-Killbill-CreatedBy: GitHub' \
|
105
|
+
-d '{"apiKey": "bob", "apiSecret": "lazar"}' \
|
106
|
+
"http://${KB_ADDRESS}:${KB_PORT}/1.0/kb/tenants"
|
107
|
+
- name: Run fast tests
|
108
|
+
env:
|
109
|
+
DB_ADAPTER: ${{ matrix.database-adapter }}
|
110
|
+
DB_USER: ${{ matrix.database-user }}
|
111
|
+
DB_PASSWORD: ${{ matrix.database-password }}
|
112
|
+
DB_PORT: ${{ matrix.database-port }}
|
113
|
+
run: |
|
114
|
+
# Some flakiness unfortunately
|
115
|
+
./bin/retry bundle exec rake test:spec
|
116
|
+
- name: Run remote tests
|
117
|
+
env:
|
118
|
+
DB_ADAPTER: ${{ matrix.database-adapter }}
|
119
|
+
DB_USER: ${{ matrix.database-user }}
|
120
|
+
DB_PASSWORD: ${{ matrix.database-password }}
|
121
|
+
DB_PORT: ${{ matrix.database-port }}
|
122
|
+
run: |
|
123
|
+
# Some flakiness unfortunately
|
124
|
+
./bin/retry bundle exec rake test:remote:spec
|
125
|
+
- name: Debugging after failure
|
126
|
+
if: failure()
|
127
|
+
run: |
|
128
|
+
echo "[DEBUG] killbill healthcheck"
|
129
|
+
curl --connect-timeout 10 --max-time 30 -v http://${KB_ADDRESS}:${KB_PORT}/1.0/healthcheck || true
|
130
|
+
echo "[DEBUG] hostname"
|
131
|
+
hostname
|
132
|
+
echo "[DEBUG] netstat -tulpn"
|
133
|
+
sudo netstat -tulpn
|
134
|
+
echo "[DEBUG] docker network ls"
|
135
|
+
docker network ls
|
136
|
+
echo "[DEBUG] docker ps -a"
|
137
|
+
docker ps -a
|
138
|
+
echo "[DEBUG] killbill env"
|
139
|
+
docker exec it_killbill_1 env || true
|
140
|
+
echo "[DEBUG] db env"
|
141
|
+
docker exec it_db_1 env || true
|
142
|
+
echo "[DEBUG] killbill logs"
|
143
|
+
docker logs -t --details it_killbill_1 || true
|
144
|
+
echo "[DEBUG] db logs"
|
145
|
+
docker logs -t --details it_db_1 || true
|
@@ -0,0 +1,46 @@
|
|
1
|
+
name: release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
inputs:
|
6
|
+
target_version:
|
7
|
+
description: 'Target version: next [major|minor|patch|pre|release] or a given version number [x.x.x]'
|
8
|
+
required: true
|
9
|
+
default: 'patch'
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
release:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
steps:
|
15
|
+
- name: Checkout code
|
16
|
+
uses: actions/checkout@v2
|
17
|
+
- name: Setup git user
|
18
|
+
env:
|
19
|
+
BUILD_USER: ${{ secrets.BUILD_USER }}
|
20
|
+
BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }}
|
21
|
+
run: |
|
22
|
+
git config --global user.email "contact@killbill.io"
|
23
|
+
git config --global user.name "Kill Bill core team"
|
24
|
+
git config --global url."https://${BUILD_USER}:${BUILD_TOKEN}@github.com/".insteadOf "git@github.com:"
|
25
|
+
- uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: '2.4.2'
|
28
|
+
- name: Download Ruby dependencies
|
29
|
+
run: |
|
30
|
+
bundle install
|
31
|
+
- name: Tag repository
|
32
|
+
run: |
|
33
|
+
bundle exec gem bump -c -p -t -v ${{ github.event.inputs.target_version }}
|
34
|
+
- name: Release Gem
|
35
|
+
env:
|
36
|
+
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
37
|
+
run: |
|
38
|
+
mkdir -p ~/.gem
|
39
|
+
cat << EOF > ~/.gem/credentials
|
40
|
+
---
|
41
|
+
:rubygems_api_key: ${RUBYGEMS_API_KEY}
|
42
|
+
EOF
|
43
|
+
chmod 0600 ~/.gem/credentials
|
44
|
+
bundle install
|
45
|
+
bundle exec gem release
|
46
|
+
rm -f ~/.gem/credentials
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ Kill Bill compatibility
|
|
11
11
|
| 0.x.y | 0.16.z |
|
12
12
|
| 1.x.y | 0.18.z |
|
13
13
|
| 2.x.y | 0.20.z |
|
14
|
-
| 3.x.y | 0.
|
14
|
+
| 3.x.y | 0.22.z |
|
15
15
|
|
16
16
|
Installation
|
17
17
|
------------
|
@@ -28,6 +28,37 @@ Alternatively, add the dependency in your Gemfile:
|
|
28
28
|
gem 'killbill-client', '~> 1.0'
|
29
29
|
```
|
30
30
|
|
31
|
+
Authentication
|
32
|
+
--------------
|
33
|
+
|
34
|
+
A username and password can be set directly in the `options` hash (accepted by each API method):
|
35
|
+
```ruby
|
36
|
+
options = {
|
37
|
+
:username => 'admin',
|
38
|
+
:password => 'password'
|
39
|
+
}
|
40
|
+
```
|
41
|
+
These credentials are validated by Kill Bill either directly (users managed by Kill Bill) or via a third-party (LDAP, Okta, Auth0, etc.).
|
42
|
+
|
43
|
+
Alternatively, a bearer token can be passed as such:
|
44
|
+
```ruby
|
45
|
+
options = {
|
46
|
+
:bearer => 'token'
|
47
|
+
}
|
48
|
+
```
|
49
|
+
The security token would be validated by Kill bill via a third-party (e.g. Auth0).
|
50
|
+
|
51
|
+
By default, Kill Bill won't maintain sessions, except when calling the API `/1.0/kb/security/permissions` (`JSESSIONID`, present in the `Set-Cookie` response header).
|
52
|
+
This session id can be passed instead:
|
53
|
+
```ruby
|
54
|
+
options = {
|
55
|
+
:session_id => 'JSESSIONID'
|
56
|
+
}
|
57
|
+
```
|
58
|
+
Using this session mechanism is recommend for user interfaces or to minimize the runtime dependency with a third-party provider.
|
59
|
+
|
60
|
+
Note: if a timed out session is re-used (`last_access_time` older than 60 minutes by default), a `HTTP/1.1 401 Unauthorized` is returned with `Set-Cookie: JSESSIONID=deleteMe`, and the session is deleted from the database (and cache) on the server side.
|
61
|
+
|
31
62
|
Examples
|
32
63
|
--------
|
33
64
|
|