authpi
v0.1.5
Published
A TypeScript client library to interact with AuthPI's Core API
Downloads
140
Maintainers
Readme
AuthPI Core API client library in TypeScript
Official library for interacting with the AuthPI Core API in TypeScript in a server-side environments.
Installation
npm install authpi
Usage
(recommended) With a default issuer ID
import { AuthPI } from 'authpi';
const authpi = new AuthPI({
accountId: 'your-account',
issuerId: 'issuer-id',
key: 'client-credentials',
});
const user = await authpi.users.create({
username: '[email protected]'
});
Without a default issuer ID:
This mode is useful when you need to interact with multiple issuers, for example platform applications and agencies.
import { AuthPI } from 'authpi';
const authpi = new AuthPI({
accountId: 'your-account',
key: 'client-credentials'
});
const user = await authpi.issuers.as('issuer-id').users.create({
username: '[email protected]'
});
Configuration
The AuthPI
object can be configured with the following options:
const authpi = new AuthPI({
accountId: 'your-account',
issuerId: 'issuer-id',
key: 'client-credentials',
token: 'access-token',
timeout: 15000,
telemetry: true,
_fetch: fetch,
});
| Option | Default | Description |
|--------|---------|-------------|
| accountId
| | Your AuthPI account ID |
| issuerId
| | A default issuer ID to use when needed |
| key
| | A key that can be generated in your AuthPI dashboard. One of the key or token must be present. |
| token
| | An access token to use instead of the key. One of the key or token must be present. |
| timeout
| 15000
| Request timeout in milliseconds |
| telemetry
| true
| Whether to send telemetry data to AuthPI |
| _fetch
| fetch
| A custom fetch implementation to use |
Examining Responses
Some information about the response is available with the lastResponse
property in the same namespace as the method that was called.
authpi.users.create({ username: '[email protected]' });
authpi.users.lastResponse.headers
License
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.