{"id":18463862,"url":"https://github.com/smartive/zitadel-node","last_synced_at":"2025-04-08T07:32:48.813Z","repository":{"id":61796511,"uuid":"555244927","full_name":"smartive/zitadel-node","owner":"smartive","description":"ZITADEL SDK for Node.js","archived":false,"fork":false,"pushed_at":"2024-04-13T16:50:28.000Z","size":1104,"stargazers_count":15,"open_issues_count":1,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-14T06:58:31.061Z","etag":null,"topics":["api","authn","authz","grpc","nodejs","zitadel"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@zitadel/node","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-21T07:53:33.000Z","updated_at":"2024-05-10T04:40:14.406Z","dependencies_parsed_at":"2023-02-14T02:45:51.575Z","dependency_job_id":"a86fb8a4-b72e-42fc-9975-2f1063911688","html_url":"https://github.com/smartive/zitadel-node","commit_stats":null,"previous_names":[],"tags_count":176,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fzitadel-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fzitadel-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fzitadel-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fzitadel-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartive","download_url":"https://codeload.github.com/smartive/zitadel-node/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247796348,"owners_count":20997553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","authn","authz","grpc","nodejs","zitadel"],"created_at":"2024-11-06T09:08:11.416Z","updated_at":"2025-04-08T07:32:48.802Z","avatar_url":"https://github.com/smartive.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZITADEL Node.js\n\nThis is the ZITADEL Node.js SDK.\n\nThis library contains the compiled and generated [gRPC](https://grpc.io/)\nservice clients for the ZITADEL API.\n\nAlso it contains helpers to create the service clients to access the API.\nWith two `MetadataProvider` (`accessTokenProvider` and `serviceAccountProvider`),\nthe clients can be created with the correct authentication already in place.\n\nHead over to [the examples](https://github.com/smartive/zitadel-node/tree/main/examples) to see implementation\nexamples.\n\nThis library allows you to use the ZITADEL API in Node.js, it is not\ncompatible with the browser since it requires gRPC (and not gRPC-Web).\nFurthermore, the library heavily relies on `openidconnect` and `crypto`\nimplementations since it handles RSA keys.\n\nThis library does _not_ provide authentication helpers for web applications.\nIf you want to use `passport js` and OAuth 2.0 introspection, head over to\n[node-passport-zitadel](https://github.com/buehler/node-passport-zitadel).\n\n## Goals\n\nThis is meant to be a Node.js SDK for the ZITADEL API. It contains the compiled\nproto files from the original ZITADEL repository and therefore helps to\naccess the API and manage resources. Moreover, it contains helpers to\nauthenticate a given service account against ZITADEL.\n\nTo summarize:\n\n- Provide compiled proto clients\n- Manage resources via proto clients (e.g. `OrganizationServiceClient`, `SessionServiceClient`)\n- Allow authentication of a service account (fetch a token that can be sent)\n\n## Non-Goals\n\nIn contrast to the goals of this package, this package does _not_ provide\nmeans to check for authentication of a user. There exists a multitude\nof frameworks that can be used in conjunction with NodeJS. Therefore, you need\nto use specific framework packages to support authentication.\n\nKnown packages:\n\n- [Passport.js](https://www.passportjs.org/): [node-passport-zitadel](https://github.com/buehler/node-passport-zitadel)\n- [NextAuth / Auth.js](https://next-auth.js.org): [ZITADEL Provider](https://next-auth.js.org/providers/zitadel)\n- [NestJS](https://nestjs.com/): [NestJS OIDC](https://github.com/5-stones/nest-oidc)\n\n### Development\n\nTo enhance this library or to fix a bug, you need to do the following:\n\n1. Clone the repository\n2. Install the dependencies with `npm install`\n3. Install the submodules with `git submodule update --init --recursive`\n4. Generate the gRPC types with `npm run build:grpc`\n\nThen you can start developing with `npm run dev`. The production build can be\nmade with `npm run build` and the tests run with `npm test`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartive%2Fzitadel-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartive%2Fzitadel-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartive%2Fzitadel-node/lists"}