Skip to content
Snippets Groups Projects
Verified Commit d872f9a0 authored by Andrej Ramašeuski's avatar Andrej Ramašeuski
Browse files

Podpora testovaci authorizaci

parent 81ee6dae
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,14 @@ sub register ( $class, $self, $conf) { ...@@ -17,6 +17,14 @@ sub register ( $class, $self, $conf) {
$self->helper( jwt => sub { $self->helper( jwt => sub {
if ( ! $jwt ) { if ( ! $jwt ) {
if ( $self->cfg->{test} && $self->cfg->{test_auth_jwt_secret}) {
$jwt = Mojo::JWT->new(
secret => $self->cfg->{test_auth_jwt_secret}
);
return $jwt;
}
my $res; my $res;
eval { $res = $ua->get( $self->cfg->{oauth_url} )->result; }; eval { $res = $ua->get( $self->cfg->{oauth_url} )->result; };
...@@ -32,6 +40,7 @@ sub register ( $class, $self, $conf) { ...@@ -32,6 +40,7 @@ sub register ( $class, $self, $conf) {
$self->helper( oauth_groups => sub ( $c ) { $self->helper( oauth_groups => sub ( $c ) {
if ( ! $groups ) { if ( ! $groups ) {
my $res; my $res;
eval { $res = $ua->get( $self->cfg->{groups_url} )->result; }; eval { $res = $ua->get( $self->cfg->{groups_url} )->result; };
if (! $@ && $res->is_success) { if (! $@ && $res->is_success) {
...@@ -49,6 +58,7 @@ sub register ( $class, $self, $conf) { ...@@ -49,6 +58,7 @@ sub register ( $class, $self, $conf) {
$self->helper( oauth_claims => sub ( $c ) { $self->helper( oauth_claims => sub ( $c ) {
if ( ! $c->stash->{claims}) { if ( ! $c->stash->{claims}) {
return undef if ! ($c->jwt && $c->oauth_token); return undef if ! ($c->jwt && $c->oauth_token);
my $claims; my $claims;
...@@ -58,7 +68,7 @@ sub register ( $class, $self, $conf) { ...@@ -58,7 +68,7 @@ sub register ( $class, $self, $conf) {
$c->app->log->warn("Invalid token ($@)"); $c->app->log->warn("Invalid token ($@)");
} }
$c->stash->{claims} = $claims; $c->stash->{claims} = $claims;
} }
return $c->stash->{claims}; return $c->stash->{claims};
...@@ -81,7 +91,7 @@ sub register ( $class, $self, $conf) { ...@@ -81,7 +91,7 @@ sub register ( $class, $self, $conf) {
uuid => $claims->{sub}, uuid => $claims->{sub},
username => $claims->{preferred_username}, username => $claims->{preferred_username},
name => $claims->{name}, name => $claims->{name},
groups => $claims->{groups}, # groups => $claims->{groups},
main_group_name => $c->oauth_main_group_name(), main_group_name => $c->oauth_main_group_name(),
}; };
} }
...@@ -91,10 +101,7 @@ sub register ( $class, $self, $conf) { ...@@ -91,10 +101,7 @@ sub register ( $class, $self, $conf) {
$self->helper( user_roles => sub ( $c ) { $self->helper( user_roles => sub ( $c ) {
my @roles = (); my @roles = ();
if ( $c->cfg->{test_x_roles} && $c->req->headers->header('X-Roles')) { if ( my $claims = $c->oauth_claims ) {
@roles = split /\W+/, $c->req->headers('X-Roles');
}
elsif ( my $claims = $c->oauth_claims ) {
@roles = @{ $claims->{roles} // [] }; @roles = @{ $claims->{roles} // [] };
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment