Catalyst-Plugin-OpenIDConnect
view release on metacpan or search on metacpan
lib/Catalyst/Plugin/OpenIDConnect/Utils/JWT.pm view on Meta::CPAN
package Catalyst::Plugin::OpenIDConnect::Utils::JWT;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
use JSON::MaybeXS qw(encode_json decode_json);
use MIME::Base64 qw(encode_base64 decode_base64);
use Digest::SHA qw(sha256);
use Crypt::OpenSSL::RSA;
use DateTime;
use Try::Tiny;
=head1 NAME
Catalyst::Plugin::OpenIDConnect::Utils::JWT - JWT handling for OpenID Connect
=head1 DESCRIPTION
Provides JWT signing and verification functionality using RS256 (RSA SHA-256) algorithm
for OpenID Connect token creation and validation.
=head1 ATTRIBUTES
=head2 private_key
The RSA private key for signing tokens.
=cut
has private_key => (
is => 'ro',
isa => 'Crypt::OpenSSL::RSA',
required => 1,
);
=head2 public_key
The RSA public key for verifying tokens.
=cut
has public_key => (
is => 'ro',
isa => 'Crypt::OpenSSL::RSA',
required => 1,
);
=head2 key_id
The key ID (kid) used in JWT headers.
=cut
has key_id => (
is => 'ro',
isa => 'Str',
required => 1,
);
=head2 issuer
The issuer URL/identifier for the iss claim.
=cut
has issuer => (
is => 'ro',
isa => 'Str',
required => 1,
);
( run in 0.737 second using v1.01-cache-2.11-cpan-5fbc6bb55f2 )