ZITADEL - Identity infrastructure, simplified for you.
Go to file
Max Peintner 90f1647bb9
fix(console): dependencies, list my memberships, passwordless texts, privatelabelling issues (#2142)
* fix: list my memberships in console

* show manager context in detail page

* console dependencies (#2161)

* feat: User metadata (#2025)

* feat: user meta data events

* feat: user meta data set tests

* feat: user meta data tests

* feat: user meta data in protos

* feat: user meta data command api

* feat: user meta data query side

* feat: proto correct order, fix handlers

* feat: proto correct order

* feat: fixes of pr comments

* feat: fixes of pr comments

* feat: value as byte array

* feat: metadata feature

* Update internal/auth/repository/eventsourcing/handler/meta_data.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/command/user_meta_data.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update proto/zitadel/metadata.proto

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update proto/zitadel/metadata.proto

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* fix: rename metadata files and table

* fix: rename meta data to metadat in protos

* Update internal/domain/metadata.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* fix: rename vars

* fix: rebiuld docs

* Update internal/iam/repository/view/metadata_view.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* fix(auth): read privacy policy from eventstore if not found (#2125)

* fix(auth): read privacy policy from eventstore if not found

* Update internal/auth/repository/eventsourcing/eventstore/auth_request.go

Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>

Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>

* chore(deps-dev): bump @angular/cli from 12.1.1 to 12.2.0 in /console (#2149)

Bumps [@angular/cli](https://github.com/angular/angular-cli) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @angular/material-moment-adapter in /console (#2147)

Bumps [@angular/material-moment-adapter](https://github.com/angular/components) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/components/compare/12.1.1...12.2.0)

---
updated-dependencies:
- dependency-name: "@angular/material-moment-adapter"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump ts-node from 9.1.1 to 10.2.0 in /console (#2145)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 9.1.1 to 10.2.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v9.1.1...v10.2.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/jasmine from 3.7.7 to 3.8.2 in /console (#2115)

Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 3.7.7 to 3.8.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine)

---
updated-dependencies:
- dependency-name: "@types/jasmine"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump libphonenumber-js from 1.9.19 to 1.9.23 in /console (#2114)

Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.9.19 to 1.9.23.
- [Release notes](https://gitlab.com/catamphetamine/libphonenumber-js/tags)
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.9.19...v1.9.23)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @angular/core and @angular/animations in /console (#2072)

Bumps [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) and [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations). These dependencies needed to be updated together.

Updates `@angular/core` from 12.0.3 to 12.1.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/12.1.3/packages/core)

Updates `@angular/animations` from 12.0.3 to 12.1.3
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/12.1.3/packages/animations)

---
updated-dependencies:
- dependency-name: "@angular/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@angular/animations"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump stylelint-config-standard in /console (#2065)

Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) from 20.0.0 to 22.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-standard/compare/20.0.0...22.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @types/google-protobuf in /console (#2000)

Bumps [@types/google-protobuf](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/google-protobuf) from 3.15.2 to 3.15.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/google-protobuf)

---
updated-dependencies:
- dependency-name: "@types/google-protobuf"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* package

* angular core

* update angular core, cdk, allow commonjs deps

Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix labelpolicy max size, double trigger, labels

* lint styles

* disable rule, add passwordless message texts

* lint exceeding linelimit

* login texts

* remove duplicate keyname

* rm unused

* fix: read lockout policy

Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
2021-08-16 12:44:20 +00:00
.codecov chore(codecov): make codecov configurable in repo (#40) 2020-04-08 07:37:24 +02:00
.github feat: comprehensive sentry instrumentation (#2023) 2021-07-30 09:52:08 +00:00
build fix(build): update go version to 1.16 and dependencies (#2136) 2021-08-10 07:27:27 +02:00
cmd feat: Lockout policy (#2121) 2021-08-11 06:36:32 +00:00
console fix(console): dependencies, list my memberships, passwordless texts, privatelabelling issues (#2142) 2021-08-16 12:44:20 +00:00
docs docs: add protos to sidenav (#2181) 2021-08-12 16:37:47 +02:00
guides chore(dev): linux dev support workaround (#2076) 2021-07-27 21:55:30 +02:00
hack fix: operator picks (#1463) 2021-03-24 10:31:19 +01:00
internal fix(console): dependencies, list my memberships, passwordless texts, privatelabelling issues (#2142) 2021-08-16 12:44:20 +00:00
k8s/base fix: add arg and probes to deployment (#605) 2020-08-18 14:22:53 +02:00
migrations fix: add user metadata to the features (#2179) 2021-08-12 16:10:01 +02:00
openapi fix: add api docs and http handler for openapi files (#1526) 2021-04-07 08:23:47 +02:00
operator feat: comprehensive sentry instrumentation (#2023) 2021-07-30 09:52:08 +00:00
pkg feat: comprehensive sentry instrumentation (#2023) 2021-07-30 09:52:08 +00:00
proto/zitadel fix: add user metadata to the features (#2179) 2021-08-12 16:10:01 +02:00
scripts feat(operator): make running ZITADEL easy (#1562) 2021-04-22 16:43:34 +00:00
statik fix(zitadel-image): refactor dockerfiles and gh action (#2027) 2021-07-27 14:34:56 +02:00
tools chore: align go.mod version for pipeline (#1922) 2021-06-22 15:18:22 +02:00
.dockerignore fix(zitadel-image): refactor dockerfiles and gh action (#2027) 2021-07-27 14:34:56 +02:00
.gitignore chore: add generated asset files to .gitignore (#1971) 2021-07-05 11:08:58 +00:00
.releaserc.js chore: rename master to main (#1550) 2021-04-07 16:07:15 +02:00
changelog.config.js feat: Merge master (#1260) 2021-02-08 16:48:41 +01:00
CODE_OF_CONDUCT.md chore(coc): recommend code of conduct (#1782) 2021-05-28 07:38:50 +02:00
CONTRIBUTING.md fix(eventstore): sub queries (#1805) 2021-07-06 13:55:57 +02:00
go.mod fix(build): update go version to 1.16 and dependencies (#2136) 2021-08-10 07:27:27 +02:00
go.sum fix(build): update go version to 1.16 and dependencies (#2136) 2021-08-10 07:27:27 +02:00
LICENSE chore: Update LICENSE (#1087) 2020-12-14 09:40:09 +01:00
README.md feat: comprehensive sentry instrumentation (#2023) 2021-07-30 09:52:08 +00:00
SECURITY.md refactor: Version 1 2021-04-20 14:04:02 +02:00

Zitadel Logo

semantic-release Release license release Go Report Card codecov

What Is ZITADEL

ZITADEL is a "Cloud Native Identity and Access Management" solution built for the cloud era. ZITADEL uses a modern software stack consisting of Golang, Angular and CockroachDB as sole storage and follows an event sourced pattern.

We built ZITADEL not only with the vision of becoming a great open source project but also as a superb platform to support developers building their applications, without need to handle secure user login and account management themselves.

How Does It Work

We built ZITADEL around the idea that the IAM should be easy to deploy and scale. That's why we tried to reduce external systems as much as possible. For example, ZITADEL is event sourced but it does not rely on a pub/sub system to function. Instead we built all the functionality right into one binary. ZITADEL only needs Kubernetes for orchestration and CockroachDB as storage.

Features of ZITADEL platform

  • Authentication
    • OpenID Connect 1.0 Protocol (OP)
    • Username / Password
    • Machine-to-machine (JWT profile)
    • Passwordless with FIDO2
  • Multifactor authentication with OTP, U2F
  • Federation with OpenID Connect 1.0 Protocol (RP), OAuth 2.0 Protocol (RP)
  • Authorization via Role Based Access Control (RBAC)
  • Identity Brokering
  • Delegation of roles to other organizations for self-management
  • Strong audit trail for all IAM resources
  • User interface for administration
  • APIs for Management, Administration, and Authentication
  • Policy configuration and enforcement
  • Private Labeling

Run ZITADEL anywhere

Self-Managed

You can run an automatically operated ZITADEL instance on a CNCF compliant Kubernetes cluster of your choice:

CAOS-Managed

  • ZITADEL Cloud: ZITADEL.ch is our shared cloud service hosted in Switzerland. Get started and try the free tier, including already unlimited users and all necessary security features.
  • ZITADEL Enterprise: We operate and support a private instance of ZITADEL for you. Get in touch!

Start using ZITADEL

Quickstarts

See our Documentation to get started with ZITADEL quickly. Let us know, if you are missing a language or framework in the Q&A.

Client libraries

  • Go client library
  • .NET client library
  • Dart client library

Help and Documentation

Showcase

Passwordless Login

Use our login widget to allow easy and sucure access to your applications and enjoy all the benefits of passwordless (FIDO 2 / WebAuthN):

  • works on all modern platforms, devices, and browsers
  • phishing resistant alternative
  • requires only one gesture by the user
  • easy enrollment of the device during registration

passwordless-windows-hello passwordless-iphone

Admin Console

Use Console or our APIs to setup organizations, projects and applications.

Register new applications OIDC-Client-Register

Delegate the right to assign roles to another organization projects_create_org_grant

Customize login and console with your design
private_labeling

How To Contribute

Details about how to contribute you can find in the Contribution Guide

Security

See the policy here

Other CAOS Projects

  • ORBOS - GitOps everything
  • OIDC for GO - OpenID Connect SDK (client and server) for Go
  • ZITADEL Tools - Go tool to convert key file to privately signed JWT

Usage Data

ZITADEL components send errors and usage data to CAOS Ltd., so that we are able to identify code improvement potential. If you don't want to send this data or don't have an internet connection, pass the global flag --disable-analytics when using zitadelctl. For disabling ingestion for already-running components, execute the takeoff command again with the --disable-analytics flag.

We try to distinguishing the environments from which events come from. As environment identifier, we enrich the events by the domain you have configured in zitadel.yml, as soon as it's available. When it's not available and you passed the --gitops flag, we defer the environment identifier from your git repository URL.

Besides from errors that don't clearly come from misconfiguration or cli misuage, we send an inital event when any binary is started. This is a " invoked" event along with the flags that are passed to it, except secret values of course.

We only ingest operational data. Your ZITADEL workload data from the IAM application itself is never sent anywhere unless you chose to integrate other systems yourself.

License

See the exact licensing terms here

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.