ipfs-cluster/sharness
Hector Sanjuan d7da1b6044 API: Support JWT bearer token authorization
The Pinning Services API standard mandates Bearer token authentication.

This adds JWT bearer token authentication to the IPFS Cluster REST and PINSVC
APIs.

The basic_auth_credentials configuration option needs to be not null and have
at least one username/passwords entry.

A user authenticated via Basic Auth can then "POST /token" and obtain a json
object:

```json { "token" : "<JWTtoken>" } ```

The JWT token has the "iss" (issuer) field set to the Basic auth user that
authorized its creation and is HMAC-signed with its password.

When basic-auth-credentials are set, the APIs will verify that requests come
with either Basic Auth authorization header or with a Bearer token
authorization header.

Bearer tokens will be decoded and the signature will be verified against the
password of the issuer.

At the moment we provide no support to revoke tokens, set "expiration date",
"not before" etc, but this may come in the future.
2022-06-20 20:04:39 +02:00
..
config API: Support JWT bearer token authorization 2022-06-20 20:04:39 +02:00
lib Use the updated sharness library 2019-08-19 16:49:27 +05:30
test_data Sharness: update state export file 2022-04-07 14:54:16 +02:00
run-sharness-tests.sh Service: Select consensus on "init" (not on "daemon") 2019-08-09 19:20:53 +02:00
t0010-ctl-basic-commands.sh Remove map pintracker (#944) 2019-12-12 21:22:54 +01:00
t0020-service-basic-commands.sh Sharness hardening: 2018-01-09 14:17:21 -05:00
t0021-service-init.sh Merge pull request #877 from ipfs/fix/ipfs-to-p2p 2019-09-06 15:00:36 +02:00
t0025-ctl-status-report-commands.sh Streaming Peers(): make Peers() a streaming call 2022-03-23 01:27:57 +01:00
t0030-ctl-pin.sh Adopt api.Cid type - replaces cid.Cid everwhere. 2022-04-07 14:27:39 +02:00
t0031-ctl-add.sh car: Add sharness test for adding car file 2021-04-21 13:55:06 +02:00
t0032-ctl-health.sh alerts: Fix sharnless tests 2021-01-14 00:17:20 +01:00
t0040-ssl-simple-exchange.sh Sharness hardening: 2018-01-09 14:17:21 -05:00
t0041-ssl-enforcement.sh Sharness hardening: 2018-01-09 14:17:21 -05:00
t0042-basic-auth.sh API: Support JWT bearer token authorization 2022-06-20 20:04:39 +02:00
t0043-ssl-basic-auth.sh API: Support JWT bearer token authorization 2022-06-20 20:04:39 +02:00
t0052-service-state-export.sh Adopt api.Cid type - replaces cid.Cid everwhere. 2022-04-07 14:27:39 +02:00
t0053-service-state-import.sh Service: Select consensus on "init" (not on "daemon") 2019-08-09 19:20:53 +02:00
t0054-service-state-clean.sh Pintracker: streaming methods 2022-03-22 15:38:01 +01:00