|
|
@ -1493,14 +1493,21 @@ sub metadata { |
|
|
|
|
|
|
|
|
|
|
|
# List response types depending on allowed flows |
|
|
|
# List response types depending on allowed flows |
|
|
|
my $response_types = []; |
|
|
|
my $response_types = []; |
|
|
|
push( @$response_types, "code" ) |
|
|
|
my $grant_types = []; |
|
|
|
if $self->conf->{oidcServiceAllowAuthorizationCodeFlow}; |
|
|
|
if ( $self->conf->{oidcServiceAllowAuthorizationCodeFlow} ) { |
|
|
|
push( @$response_types, "id_token", "id_token token" ) |
|
|
|
push( @$response_types, "code" ); |
|
|
|
if $self->conf->{oidcServiceAllowImplicitFlow}; |
|
|
|
push( @$grant_types, "authorization_code" ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ( $self->conf->{oidcServiceAllowImplicitFlow} ) { |
|
|
|
|
|
|
|
push( @$response_types, "id_token", "id_token token" ); |
|
|
|
|
|
|
|
push( @$grant_types, "implicit" ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ( $self->conf->{oidcServiceAllowHybridFlow} ) { |
|
|
|
push( @$response_types, |
|
|
|
push( @$response_types, |
|
|
|
"code id_token", |
|
|
|
"code id_token", |
|
|
|
"code token", "code id_token token" ) |
|
|
|
"code token", "code id_token token" ); |
|
|
|
if $self->conf->{oidcServiceAllowHybridFlow}; |
|
|
|
push( @$grant_types, "hybrid" ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# Create OpenID configuration hash; |
|
|
|
# Create OpenID configuration hash; |
|
|
|
return $self->p->sendJSONresponse( |
|
|
|
return $self->p->sendJSONresponse( |
|
|
@ -1530,7 +1537,7 @@ sub metadata { |
|
|
|
# Scopes |
|
|
|
# Scopes |
|
|
|
scopes_supported => [qw/openid profile email address phone/], |
|
|
|
scopes_supported => [qw/openid profile email address phone/], |
|
|
|
response_types_supported => $response_types, |
|
|
|
response_types_supported => $response_types, |
|
|
|
grant_types_supported => [qw/authorization_code implicit hybrid/], |
|
|
|
grant_types_supported => $grant_types, |
|
|
|
acr_values_supported => \@acr, |
|
|
|
acr_values_supported => \@acr, |
|
|
|
subject_types_supported => ["public"], |
|
|
|
subject_types_supported => ["public"], |
|
|
|
token_endpoint_auth_methods_supported => |
|
|
|
token_endpoint_auth_methods_supported => |
|
|
|