NAME
Net::Async::Keycloak::OIDC - OpenID Connect against one Keycloak realm, asynchronously
VERSION
version 0.001
SYNOPSIS
my $oidc = $kc->oidc;
my $claims = await $oidc->verify_token_f( $jwt, audience => 'my-api', type => 'Bearer' );
my $tokens = await $oidc->password_token_f( client_id => 'cli', username => 'alice', password => $pw );
DESCRIPTION
The asynchronous WWW::Keycloak::OIDC: the same methods with _f and futures. Token verification follows the same rules, including when the keys are fetched again.
issuer
Required. <base_url>/realms/<realm>.
http
Required. The Net::Async::HTTP to use.
algorithms
jwks_min_age
now
As in WWW::Keycloak::OIDC.
discovery_f
The discovery document, fetched once.
endpoint_f
my $url = await $oidc->endpoint_f('device_authorization_endpoint');
token_endpoint_f
userinfo_endpoint_f
introspection_endpoint_f
end_session_endpoint_f
device_endpoint_f
jwks_uri_f
A URL from the discovery document.
jwks_f
my $keys = await $oidc->jwks_f( force_refresh => 1 );
Callers asking while a fetch is under way share it; so do callers of "discovery_f".
verify_token_f
my $claims = await $oidc->verify_token_f( $jwt, audience => 'my-api', type => 'Bearer' );
userinfo_f
introspect_f
password_token_f
client_credentials_token_f
refresh_token_f
exchange_authorization_code_f
device_authorization_f
device_token_f
logout_f
As the methods without _f in WWW::Keycloak::OIDC, returning futures. A pending device-flow poll fails with an API error whose oauth_error is authorization_pending.
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-net-async-keycloak/issues.
IRC
Join #kubernetes on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <getty@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.