How a transport checks a bearer token (← the authorization section of the
protocol): a request without one is answered 401 with a
WWW-Authenticate challenge, and one whose token does not verify is
answered the same way with invalid_token.
Two ways to build one: Bearer::hmac for a token signed with a shared
secret, which is what a test and a single-tenant deployment use, and
Bearer::own for anything else — an RSA or ECDSA key, a JSON Web Key Set
fetched from the issuer, an opaque token looked up in a table. own takes
the whole decision, so this library never has an opinion about how a token
is judged, only about what happens when it is not.