Catalyst-Plugin-OpenIDConnect
view release on metacpan or search on metacpan
"Crypt::OpenSSL::RSA" : "0.38",
"Crypt::PK::RSA" : "0",
"Data::UUID" : "0",
"DateTime" : "0",
"DateTime::Format::ISO8601" : "0",
"Digest::SHA" : "0",
"JSON::MaybeXS" : "0",
"MIME::Base64" : "0",
"Module::Runtime" : "0",
"Moose" : "0",
"Try::Tiny" : "0",
"URI" : "0",
"namespace::autoclean" : "0",
"perl" : "5.020"
}
}
},
"release_status" : "stable",
"resources" : {
"bugtracker" : {
"web" : "https://github.com/tfrayner/catalyst-plugin-openidconnect/issues"
Crypt::OpenSSL::RSA: '0.38'
Crypt::PK::RSA: '0'
Data::UUID: '0'
DateTime: '0'
DateTime::Format::ISO8601: '0'
Digest::SHA: '0'
JSON::MaybeXS: '0'
MIME::Base64: '0'
Module::Runtime: '0'
Moose: '0'
Try::Tiny: '0'
URI: '0'
namespace::autoclean: '0'
perl: '5.020'
resources:
bugtracker: https://github.com/tfrayner/catalyst-plugin-openidconnect/issues
repository: https://github.com/tfrayner/catalyst-plugin-openidconnect.git
version: '0.15'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
requires 'namespace::autoclean';
requires 'JSON::MaybeXS';
requires 'Crypt::OpenSSL::RSA', '>=0.38'; # for RSA signing/verification with JWT (openssl 3 support)
requires 'Crypt::PK::RSA'; # for JWK key parameter extraction in JWKS endpoint
requires 'Digest::SHA';
requires 'MIME::Base64';
requires 'DateTime';
requires 'DateTime::Format::ISO8601';
requires 'Config::General';
requires 'URI';
requires 'Try::Tiny';
requires 'Data::UUID';
requires 'Bytes::Random::Secure';
requires 'Crypt::Misc'; # for slow_eq() constant-time client secret comparison (HIGH-3)
requires 'Module::Runtime';
# Optional: install Redis::Fast (preferred) or Redis for the Redis store backend.
# These are not required unless you use Store::Redis.
feature 'redis', 'Redis store backend for multi-process (FastCGI) deployments' => sub {
recommends 'Redis::Fast';
recommends 'Redis';
lib/Catalyst/Plugin/OpenIDConnect.pm view on Meta::CPAN
use Moose::Role;
use namespace::autoclean;
use Catalyst::Plugin::OpenIDConnect::Context;
use Catalyst::Plugin::OpenIDConnect::Utils::JWT;
use Catalyst::Plugin::OpenIDConnect::Utils::Store;
use Catalyst::Plugin::OpenIDConnect::Role::Store;
use Crypt::OpenSSL::RSA;
use Crypt::PK::RSA;
use JSON::MaybeXS qw(encode_json decode_json);
use Try::Tiny;
use DateTime;
use DateTime::Format::ISO8601;
use Data::UUID;
use URI;
our $VERSION = '0.15';
=head1 NAME
Catalyst::Plugin::OpenIDConnect - OpenID Connect provider plugin for Catalyst
lib/Catalyst/Plugin/OpenIDConnect/Controller/Root.pm view on Meta::CPAN
BEGIN { extends 'Catalyst::Controller'; }
use JSON::MaybeXS qw(encode_json decode_json);
use MIME::Base64 qw(encode_base64 decode_base64 encode_base64url);
use Digest::SHA qw(sha256);
use Crypt::PK::RSA;
use Crypt::Misc qw(slow_eq);
use URI;
use DateTime;
use Try::Tiny;
use Data::UUID;
# Set the namespace for OpenIDConnect routes
__PACKAGE__->config(namespace => 'openidconnect');
# Module-level UUID generator for refresh token JTI claims (MED-1).
my $_uuid = Data::UUID->new();
=head1 NAME
lib/Catalyst/Plugin/OpenIDConnect/Utils/JWT.pm view on Meta::CPAN
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.
lib/Catalyst/Plugin/OpenIDConnect/Utils/Store.pm view on Meta::CPAN
package Catalyst::Plugin::OpenIDConnect::Utils::Store;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
use Try::Tiny;
use Bytes::Random::Secure qw(random_bytes);
use MIME::Base64 qw(encode_base64url);
with 'Catalyst::Plugin::OpenIDConnect::Role::Store';
=head1 NAME
Catalyst::Plugin::OpenIDConnect::Utils::Store - In-process memory store for OIDC state
=head1 DESCRIPTION
lib/Catalyst/Plugin/OpenIDConnect/Utils/Store/Redis.pm view on Meta::CPAN
package Catalyst::Plugin::OpenIDConnect::Utils::Store::Redis;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
use JSON::MaybeXS qw(encode_json decode_json);
use Bytes::Random::Secure qw(random_bytes);
use MIME::Base64 qw(encode_base64url);
use Try::Tiny;
with 'Catalyst::Plugin::OpenIDConnect::Role::Store';
=head1 NAME
Catalyst::Plugin::OpenIDConnect::Utils::Store::Redis - Redis-backed OIDC store
=head1 SYNOPSIS
# In your Catalyst application configuration:
( run in 1.199 second using v1.01-cache-2.11-cpan-5fbc6bb55f2 )