Use prompt (#183)

This commit is contained in:
Clément Oudot 2015-04-01 13:00:31 +00:00
parent 865551989b
commit 01aec28467
4 changed files with 16 additions and 1 deletions

View File

@ -93,6 +93,13 @@ has 'oidcOPMetaDataOptionsJWKSTimeout' => (
documentation => "OIDC OP JWKS data refresh interval", documentation => "OIDC OP JWKS data refresh interval",
); );
has 'oidcOPMetaDataOptionsPrompt' => (
is => 'rw',
isa => 'Str|Undef',
default => undef,
documentation => "OIDC OP prompt",
);
has 'oidcOPMetaDataOptionsScope' => ( has 'oidcOPMetaDataOptionsScope' => (
is => 'rw', is => 'rw',
isa => 'Str', isa => 'Str',

View File

@ -287,12 +287,14 @@ sub cstruct {
}, },
oidcOPMetaDataOptionsProtocol => { oidcOPMetaDataOptionsProtocol => {
_nodes => [ _nodes => [
qw(oidcOPMetaDataOptionsScope oidcOPMetaDataOptionsDisplay oidcOPMetaDataOptionsTokenEndpointAuthMethod oidcOPMetaDataOptionsCheckJWTSignature) qw(oidcOPMetaDataOptionsScope oidcOPMetaDataOptionsDisplay oidcOPMetaDataOptionsPrompt oidcOPMetaDataOptionsTokenEndpointAuthMethod oidcOPMetaDataOptionsCheckJWTSignature)
], ],
oidcOPMetaDataOptionsScope => oidcOPMetaDataOptionsScope =>
"text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsScope", "text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsScope",
oidcOPMetaDataOptionsDisplay => oidcOPMetaDataOptionsDisplay =>
"text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsDisplay", "text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsDisplay",
oidcOPMetaDataOptionsPrompt =>
"text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsPrompt",
oidcOPMetaDataOptionsTokenEndpointAuthMethod => oidcOPMetaDataOptionsTokenEndpointAuthMethod =>
"text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsTokenEndpointAuthMethod", "text:/oidcOPMetaDataOptions/$k2/oidcOPMetaDataOptionsTokenEndpointAuthMethod",
oidcOPMetaDataOptionsCheckJWTSignature => oidcOPMetaDataOptionsCheckJWTSignature =>

View File

@ -280,6 +280,7 @@ sub en {
oidcOPMetaDataOptionsDisplayName => 'Display name', oidcOPMetaDataOptionsDisplayName => 'Display name',
oidcOPMetaDataOptionsIcon => 'Logo', oidcOPMetaDataOptionsIcon => 'Logo',
oidcOPMetaDataOptionsJWKSTimeout => 'JWKS data timeout', oidcOPMetaDataOptionsJWKSTimeout => 'JWKS data timeout',
oidcOPMetaDataOptionsPrompt => 'Prompt',
oidcOPMetaDataOptionsProtocol => 'Protocol', oidcOPMetaDataOptionsProtocol => 'Protocol',
oidcOPMetaDataOptionsScope => 'Scope', oidcOPMetaDataOptionsScope => 'Scope',
oidcOPMetaDataOptionsTokenEndpointAuthMethod => oidcOPMetaDataOptionsTokenEndpointAuthMethod =>
@ -844,6 +845,7 @@ sub fr {
oidcOPMetaDataOptionsDisplayName => 'Nom d\'affichage', oidcOPMetaDataOptionsDisplayName => 'Nom d\'affichage',
oidcOPMetaDataOptionsIcon => 'Logo', oidcOPMetaDataOptionsIcon => 'Logo',
oidcOPMetaDataOptionsJWKSTimeout => 'Durée de vie des données JWKS', oidcOPMetaDataOptionsJWKSTimeout => 'Durée de vie des données JWKS',
oidcOPMetaDataOptionsPrompt => 'Interaction',
oidcOPMetaDataOptionsProtocol => 'Protocole', oidcOPMetaDataOptionsProtocol => 'Protocole',
oidcOPMetaDataOptionsScope => 'Étendue', oidcOPMetaDataOptionsScope => 'Étendue',
oidcOPMetaDataOptionsTokenEndpointAuthMethod => oidcOPMetaDataOptionsTokenEndpointAuthMethod =>

View File

@ -235,6 +235,8 @@ sub buildAuthorizationCodeAuthnRequest {
my $nonce = $nonceSession->id; my $nonce = $nonceSession->id;
my $display = my $display =
$self->{oidcOPMetaDataOptions}->{$op}->{oidcOPMetaDataOptionsDisplay}; $self->{oidcOPMetaDataOptions}->{$op}->{oidcOPMetaDataOptionsDisplay};
my $prompt =
$self->{oidcOPMetaDataOptions}->{$op}->{oidcOPMetaDataOptionsPrompt};
$client_id = uri_escape($client_id); $client_id = uri_escape($client_id);
$scope = uri_escape($scope); $scope = uri_escape($scope);
@ -243,6 +245,7 @@ sub buildAuthorizationCodeAuthnRequest {
$state = uri_escape($state) if defined $state; $state = uri_escape($state) if defined $state;
$nonce = uri_escape($nonce); $nonce = uri_escape($nonce);
$display = uri_escape($display) if defined $display; $display = uri_escape($display) if defined $display;
$prompt = uri_escape($prompt) if defined $prompt;
my $authn_uri = $authorize_uri; my $authn_uri = $authorize_uri;
$authn_uri .= ( $authorize_uri =~ /\?/ ? '&' : '?' ); $authn_uri .= ( $authorize_uri =~ /\?/ ? '&' : '?' );
@ -253,6 +256,7 @@ sub buildAuthorizationCodeAuthnRequest {
$authn_uri .= "&state=$state" if defined $state; $authn_uri .= "&state=$state" if defined $state;
$authn_uri .= "&nonce=$nonce" if defined $nonce; $authn_uri .= "&nonce=$nonce" if defined $nonce;
$authn_uri .= "&display=$display" if defined $display; $authn_uri .= "&display=$display" if defined $display;
$authn_uri .= "&prompt=$prompt" if defined $prompt;
$self->lmLog( $self->lmLog(
"OpenIDConnect Authorization Code Flow Authn Request: $authn_uri", "OpenIDConnect Authorization Code Flow Authn Request: $authn_uri",