Skip to content
Snippets Groups Projects
Select Git revision
  • e4ecd0b8dc58cb7080c2f3dd87189efd74e3ac19
  • test default protected
  • master protected
  • original
  • pirati-backup protected
  • beta-2
  • beta-1
  • v3.1.4
  • v3.1.3
  • v3.1.2
  • v3.1.1
  • v3.1.0
  • v3.0.16
  • v3.0.15
  • v3.0.14
  • v3.0.13
  • v3.0.12
  • v3.0.11
  • v3.0.10
  • v3.0.9
  • v3.0.8
  • v3.0.7
  • v3.0.6
  • v3.0.5
  • v3.0.4
25 results

views.py

Blame
  • OIDC.pm 933 B
    package PZ::Controller::OIDC;
    use Mojo::Base 'Mojolicious::Controller', -signatures;
    use YAML;
    
    sub callback ($c) {
        my $token = $c->oidc->get_access_token($c->param("code"));
    
        # TODO: ERROR HANDLING
    
        my $claims  = $c->oauth_claims( $token->access_token );
    
        $c->session->{refresh_token} = $token->refresh_token;
    
        $c->session->{user} = {
            uuid        => $claims->{sub},
            displayname => $claims->{name},
            username    => $claims->{preferred_username},
        };
    
        my $user = $c->schema->resultset('User')->update_or_create(
            $c->session->{user},
            { key => 'uuid', }
        );
        $user->set_token();
    
        $c->session->{user}{id}     = $user->id;
        $c->session->{user}{token}  = $user->token;
    
        $c->authenticate();
        $c->redirect_to('/');
    }
    
    sub do_logout($c) { # nesmi se jmenovat logout - rekurze
        $c->logout;
        delete $c->session->{user};
        $c->redirect_to('/');
    }
    
    1;