A TypeScript client library to interact with AuthPI's Core API
npm install authpiOfficial library for interacting with the AuthPI Core API in TypeScript in a server-side environments.
``bash`
npm install authpi
`typescript
import { AuthPI } from 'authpi';
const authpi = new AuthPI({
accountId: 'your-account',
issuerId: 'issuer-id',
key: 'client-credentials',
});
const user = await authpi.users.create({
username: 'john.doe@gmail.com'
});
`
This mode is useful when you need to interact with multiple issuers, for example platform applications and agencies.
`typescript
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: 'john.doe@gmail.com'
});
`
The AuthPI object can be configured with the following options:
`typescript`
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 |
Some information about the response is available with the lastResponse property in the same namespace as the method that was called.
`typescript
authpi.users.create({ username: 'john.doe@gmail.com' });
authpi.users.lastResponse.headers
``
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.