The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

use strict;
use Exporter 'import';
our @EXPORT = (qw(
BACKCHANNEL_EVENTSKEY
PROFILE
EMAIL
ADDRESS
PHONE
DEFAULT_SCOPES
COMPLEX_CLAIM
ENC_ALG_SUPPORTED
ENC_SUPPORTED
));
use constant BACKCHANNEL_EVENTSKEY =>
# OpenID Connect standard claims
use constant PROFILE => [
qw/name family_name given_name middle_name nickname preferred_username
profile picture website gender birthdate zoneinfo locale updated_at/
];
use constant EMAIL => [qw/email email_verified/];
use constant ADDRESS =>
[qw/formatted street_address locality region postal_code country/];
use constant PHONE => [qw/phone_number phone_number_verified/];
use constant DEFAULT_SCOPES => {
profile => PROFILE,
email => EMAIL,
address => ADDRESS,
phone => PHONE,
};
use constant COMPLEX_CLAIM => {
formatted => "address",
street_address => "address",
locality => "address",
region => "address",
postal_code => "address",
country => "address",
};
use constant ENC_ALG_SUPPORTED => [ qw(
RSA-OAEP ECDH-ES RSA-OAEP-256
ECDH-ES+A256KW
ECDH-ES+A192KW
ECDH-ES+A128KW
RSA1_5
)
];
# Unsupported: A128KW A192KW A256KW A128GCMKW A192GCMKW A256GCMKW PBES2-HS256+A128KW PBES2-HS384+A192KW PBES2-HS512+A256KW
use constant ENC_SUPPORTED => [ qw(
A256CBC-HS512 A256GCM A192CBC-HS384 A192GCM A128CBC-HS256 A128GCM
)
];
1;