Revoke an access token
Revoking an access token consists of the authorization server invalidating the token for all purposes. If, for example, a user indicates to a client that they no longer want the client to have access to something, the client can request the associated token be revoked.
These code snippets enable the client to call a management endpoint to revoke the specified access token.
Before you begin
We recommend creating a wallet account on the test wallet. Creating an account allows you to test your client against the Open Payments APIs by using an ILP-enabled wallet funded with play money.
Revoke an access token
Prerequisites
- Node 20
- A package manager such as NPM or PNPM
-
Open Payments SDK
- TSX
Additional configuration
Add "type": "module"
to package.json
Add the following to tsconfig.json
{ "compilerOptions": { "target": "ES2022", "module": "ES2022" }}
Import dependencies
Import createAuthenticatedClient
from the Open Payments SDK package.
Import dependencies
import { createAuthenticatedClient } from "@interledger/open-payments";
Copied! Create an authenticated Open Payments client
Create an Open Payments-authenticated client by providing the following properties:
walletAddressURL
: your Open Payments-enabled wallet address that your client will use to authenticate itself to one or more authorization servers.privateKey
: the EdDSA-Ed25519 key or preferably the absolute or relative file path to the key that is bound to your wallet address. A public key signed with this private key must be made available as a public JWK document at{walletAddressUrl}/jwks.json
url.keyId
: the identifier of the private key and the corresponding public key.
Initialize Open Payments client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID,
});
Copied! Get started
Import dependencies
import { createAuthenticatedClient } from "@interledger/open-payments";
Copied! Initialize Open Payments client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID,
});
Copied! Revoke token
await client.token.revoke({
url: MANAGE_URL,
accessToken: ACCESS_TOKEN,
});
Copied! Run tsx path/to/directory/index.ts
.
Prerequisites
- Node 20 or higher
- A package manager such as NPM or PNPM
-
Open Payments SDK
Additional configuration
Add "type": "module"
to package.json
Get started
Import dependencies
import { createAuthenticatedClient } from "@interledger/open-payments";
Copied! Initialize Open Payments client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID,
});
Copied! Revoke token
await client.token.revoke({
url: MANAGE_URL,
accessToken: ACCESS_TOKEN,
});
Copied! Run node path/to/directory/index.js
.