NAME

WWW::Zitadel - Perl client for Zitadel identity management (OIDC + Management API)

VERSION

version 0.001

SYNOPSIS

use WWW::Zitadel;

my $z = WWW::Zitadel->new(
    issuer => 'https://zitadel.example.com',
    token  => $ENV{ZITADEL_PAT},  # Personal Access Token
);

# OIDC - verify tokens, fetch JWKS
my $claims = $z->oidc->verify_token($access_token);
my $jwks   = $z->oidc->jwks;

# Management API - CRUD users, projects, apps
my $users = $z->management->list_users(limit => 20);
my $user  = $z->management->create_human_user(
    user_name  => 'alice',
    first_name => 'Alice',
    last_name  => 'Smith',
    email      => 'alice@example.com',
);

DESCRIPTION

WWW::Zitadel is a Perl client for Zitadel, the open-source identity management platform. It provides:

  • OIDC Client - Token verification via JWKS, discovery endpoint, userinfo. Uses Crypt::JWT for JWT validation.

  • Management API Client - CRUD operations for users, projects, applications, and organizations.

Zitadel speaks standard OpenID Connect, so the OIDC client works with any OIDC-compliant provider. The Management API client is Zitadel-specific.

issuer

Required issuer URL, for example https://zitadel.example.com.

token

Optional Personal Access Token (PAT). Required only when using "management".

oidc

Lazy-built WWW::Zitadel::OIDC client, configured with issuer.

management

Lazy-built WWW::Zitadel::Management client, configured with issuer as base_url. Dies if token is missing.

SEE ALSO

WWW::Zitadel::OIDC, WWW::Zitadel::Management, Crypt::JWT

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-www-zitadel/issues.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.