Elio Bischof 492d7da37e
docs: add guide for Vue (#7215)
* docs: add guide for Vue

* describe authz

* add vue to sdks

---------

Co-authored-by: Max Peintner <max@caos.ch>
2024-01-16 14:21:32 +00:00

6.3 KiB

title sidebar_label
ZITADEL SDKs SDKs

On this page you find our official SDKs, links to supporting frameworks and providers, and resources to help with SDKs. The SDKs wrap either our gRPC or REST APIs to provide the client with User Authentication and Management for resources.

ZITADEL SDKs

Language / Framework Link Github User Authentication Manage resources Notes
Go zitadel-go 🚧 WIP ✔️ official
Vue zitadel-vue ✔️ official
.NET zitadel-net ✔️ ✔️ community
Elixir zitadel_api ✔️ ✔️ community
NodeJS @zitadel/node ✔️ community
Dart zitadel-dart ✔️ community
Rust zitadel-rust ✔️ ✔️ community
JVM 🚧 WIP TBD
Python 🚧 WIP TBD

Missing SDK

Is your language/framework missing? Fear not, you can generate your gRPC API Client with ease.

  1. Make sure to install buf
  2. Create a buf.gen.yaml and configure the plugins you need
  3. Run buf generate https://github.com/zitadel/zitadel#format=git,tag=v2.23.1 (change the versions to your needs)

Let us make an example with Ruby. Any other supported language by buf will work as well. Consult the buf plugin registry for more ideas.

Example with Ruby

With gRPC we usually need to generate the client stub and the messages/types. This is why we need two plugins. The plugin grpc/ruby generates the client stub and the plugin protocolbuffers/ruby takes care of the messages/types.

version: v1
plugins:
  - plugin: buf.build/grpc/ruby
    out: gen
  - plugin: buf.build/protocolbuffers/ruby
    out: gen

If you now run buf generate https://github.com/zitadel/zitadel#format=git,tag=v2.23.1 in the folder where your buf.gen.yaml is located you should see the folder gen appear.

If you run ls -la gen/zitadel/ you should see something like this:

ffo@ffo-pc:~/git/zitadel/ruby$ ls -la gen/zitadel/
total 704
drwxr-xr-x 2 ffo ffo   4096 Apr 11 16:49 .
drwxr-xr-x 3 ffo ffo   4096 Apr 11 16:49 ..
-rw-r--r-- 1 ffo ffo   4397 Apr 11 16:49 action_pb.rb
-rw-r--r-- 1 ffo ffo 141097 Apr 11 16:49 admin_pb.rb
-rw-r--r-- 1 ffo ffo  25151 Apr 11 16:49 admin_services_pb.rb
-rw-r--r-- 1 ffo ffo   6537 Apr 11 16:49 app_pb.rb
-rw-r--r-- 1 ffo ffo   1134 Apr 11 16:49 auth_n_key_pb.rb
-rw-r--r-- 1 ffo ffo  32881 Apr 11 16:49 auth_pb.rb
-rw-r--r-- 1 ffo ffo   6896 Apr 11 16:49 auth_services_pb.rb
-rw-r--r-- 1 ffo ffo   1571 Apr 11 16:49 change_pb.rb
-rw-r--r-- 1 ffo ffo   2488 Apr 11 16:49 event_pb.rb
-rw-r--r-- 1 ffo ffo  14782 Apr 11 16:49 idp_pb.rb
-rw-r--r-- 1 ffo ffo   5031 Apr 11 16:49 instance_pb.rb
-rw-r--r-- 1 ffo ffo 223348 Apr 11 16:49 management_pb.rb
-rw-r--r-- 1 ffo ffo  44402 Apr 11 16:49 management_services_pb.rb
-rw-r--r-- 1 ffo ffo   3020 Apr 11 16:49 member_pb.rb
-rw-r--r-- 1 ffo ffo    855 Apr 11 16:49 message_pb.rb
-rw-r--r-- 1 ffo ffo   1445 Apr 11 16:49 metadata_pb.rb
-rw-r--r-- 1 ffo ffo   2370 Apr 11 16:49 object_pb.rb
-rw-r--r-- 1 ffo ffo    621 Apr 11 16:49 options_pb.rb
-rw-r--r-- 1 ffo ffo   4425 Apr 11 16:49 org_pb.rb
-rw-r--r-- 1 ffo ffo   8538 Apr 11 16:49 policy_pb.rb
-rw-r--r-- 1 ffo ffo   8223 Apr 11 16:49 project_pb.rb
-rw-r--r-- 1 ffo ffo   1022 Apr 11 16:49 quota_pb.rb
-rw-r--r-- 1 ffo ffo   5872 Apr 11 16:49 settings_pb.rb
-rw-r--r-- 1 ffo ffo  20985 Apr 11 16:49 system_pb.rb
-rw-r--r-- 1 ffo ffo   4784 Apr 11 16:49 system_services_pb.rb
-rw-r--r-- 1 ffo ffo  28759 Apr 11 16:49 text_pb.rb
-rw-r--r-- 1 ffo ffo  24170 Apr 11 16:49 user_pb.rb
-rw-r--r-- 1 ffo ffo  13568 Apr 11 16:49 v1_pb.rb

Import these files into your project to start interacting with ZITADEL's APIs.

More

While we are not actively maintaining the following projects, it is worth checking out if you're interested in exploring ZITADEL in different programming languages or frameworks.

If we do not provide an example, SDK or guide, we strongly recommend using existing authentication libraries for your language or framework instead of building your own. Certified libraries have undergone rigorous testing and validation to ensure high security and reliability. There are many recommended libraries available, this saves time and ensures that users' data is well-protected.

You might want to check out the following links to find a good library: