107 lines
3.5 KiB
Markdown
107 lines
3.5 KiB
Markdown
# @apiclient.xyz/zitadel
|
|
an unofficial zitadel client
|
|
|
|
## Install
|
|
|
|
To install `@apiclient.xyz/zitadel`, you need to have Node.js installed on your system. You can then add it to your project using npm with the following command:
|
|
|
|
```bash
|
|
npm install @apiclient.xyz/zitadel --save
|
|
```
|
|
|
|
Ensure you have TypeScript installed for development purposes. If you haven't, install it using:
|
|
|
|
```bash
|
|
npm install -g typescript
|
|
```
|
|
|
|
## Usage
|
|
|
|
The `@apiclient.xyz/zitadel` package provides a simplified, unofficial TypeScript client for interacting with Zitadel's APIs. This guide will walk you through setting up the client and executing various operations such as user management in a TypeScript project.
|
|
|
|
Let's get started by setting up and initializing the client in your project.
|
|
|
|
### Setup and Initialization
|
|
|
|
First, import the necessary classes from the package:
|
|
|
|
```typescript
|
|
import { ZitaldelClient, ZitaldelUser } from '@apiclient.xyz/zitadel';
|
|
```
|
|
|
|
Instantiate the `ZitaldelClient` by providing connection options, including the Zitadel instance URL and an access token:
|
|
|
|
```typescript
|
|
const zitadelClient = new ZitaldelClient({
|
|
url: 'https://your-zitadel-instance.com', // Replace with your Zitadel instance URL
|
|
accessToken: 'your_access_token_here' // Replace with your actual access token
|
|
});
|
|
```
|
|
|
|
### Managing Users
|
|
|
|
The Zitadel client supports various user management operations such as listing users, getting user information, and creating new users.
|
|
|
|
#### Listing Users
|
|
|
|
To list users, you can use the `listUsers` method. This will return an array of `ZitaldelUser` objects:
|
|
|
|
```typescript
|
|
async function listUsers() {
|
|
try {
|
|
const users = await zitadelClient.listUsers();
|
|
console.log(users);
|
|
} catch (error) {
|
|
console.error('Failed to list users:', error);
|
|
}
|
|
}
|
|
|
|
listUsers();
|
|
```
|
|
|
|
#### Getting User Information
|
|
|
|
To get information about a specific user, use the `listOwnUser` method. This method is handy for fetching details about the authenticated user:
|
|
|
|
```typescript
|
|
async function getOwnUserInfo() {
|
|
try {
|
|
const user = await zitadelClient.listOwnUser();
|
|
console.log(user);
|
|
} catch (error) {
|
|
console.error('Failed to get user info:', error);
|
|
}
|
|
}
|
|
|
|
getOwnUserInfo();
|
|
```
|
|
|
|
#### Creating a User
|
|
|
|
To create a new user, the `createUser` method can be used. You need to provide user details such as email, first name, and last name:
|
|
|
|
```typescript
|
|
async function createUser() {
|
|
try {
|
|
await zitadelClient.createUser({
|
|
email: 'newuser@example.com',
|
|
firstName: 'John',
|
|
lastName: 'Doe'
|
|
});
|
|
console.log('User created successfully');
|
|
} catch (error) {
|
|
console.error('Failed to create user:', error);
|
|
}
|
|
}
|
|
|
|
createUser();
|
|
```
|
|
|
|
### Advanced Usage
|
|
|
|
For more advanced scenarios, refer to the [official Zitadel documentation](https://docs.zitadel.ch/) and the source code of this package. The `@apiclient.xyz/zitadel` client provides a straightforward interface to Zitadel's API but does not cover all possible use cases and functionalities of Zitadel. You might need to extend the client or use the official Zitadel client for complex scenarios.
|
|
|
|
## Conclusion
|
|
|
|
The `@apiclient.xyz/zitadel` package makes it easier to interact with Zitadel's APIs from a TypeScript application. With it, you can manage users, handle authentication, and perform various other operations provided by Zitadel. This guide covered the basics of setting up the client, managing users, and performing some common operations. For further details or specific use cases, consult the Zitadel documentation and the package's source code.
|
|
undefined |