summaryrefslogtreecommitdiff
path: root/lib/PAUSE/OpenID/Controller/Root.pm
blob: 33c88840a5cff0b3641e8b6d48ab01548570c95c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package PAUSE::OpenID::Controller::Root; 
 
use strict;
use warnings;
use parent 'Catalyst::Controller';
 
use LWP::UserAgent;
 
# 
# Sets the actions in this controller to be registered with no prefix 
# so they function identically to actions created in MyApp.pm 
# 
__PACKAGE__->config->{namespace} = '';
 
=head1 NAME
 
PAUSE::OpenID::Controller::Root - Root Controller for PAUSE::OpenID
 
=head1 DESCRIPTION
 
[enter your description here]
 
=head1 METHODS
 
=cut
 
=head2 index
 
=cut
 
sub index :Path :Args(0) {
    my ( $self$c ) = @_;
 
$c->stash->{xml} =<<XML;
<document/>
XML
 
    # Hello World 
    $c->forward('PAUSE::OpenID::View::XSLT');
}
 
sub default :Path {
    my ( $self$c ) = @_;
    $c->response->body( 'Page not found' );
    $c->response->status(404);
    
}
 
sub login :Local {
    my ( $self$c ) = @_;
    
    my $username = $c->req->param('username');
    my $password = $c->req->param('password');
    
    $c->log->debug('username "'.$username.'" login attemp');
    
    my $ua = LWP::UserAgent->new;
    $ua->credentials('pause.perl.org:443''PAUSE'$username$password);
    my $res = $ua->get('https://pause.perl.org/pause/authenquery');
    
    if ($res->code == 200) {
        $c->log->info('login pass');
        $c->res->redirect($c->uri_for('/login_pass'));
    }
    else {
        $c->log->warn('login failed');
        $c->res->redirect($c->uri_for('/login_failed'));
    }
}
 
sub login_pass :Local {
    my ( $self$c ) = @_;
    
    $c->res->content_type('text/plain');
    $c->res->body('login pass');
}
 
sub login_failed :Local {
    my ( $self$c ) = @_;
    
    $c->res->content_type('text/plain');
    $c->res->body('login fail');
}
 
=head2 end
 
Attempt to render a view, if needed.
 
=cut 
 
sub end : ActionClass('RenderView') {}
 
=head1 AUTHOR
 
Thomas Klausner,,,
 
=head1 LICENSE
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
 
1;