zitadel/readme.md

107 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2024-05-02 10:52:21 +00:00
# @apiclient.xyz/zitadel
an unofficial zitadel client
2024-05-02 14:07:25 +00:00
## 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
```
2024-05-02 10:52:21 +00:00
## Usage
2024-05-02 14:07:25 +00:00
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