Make Credential::Remote have a username_field config option
[catagits/Catalyst-Plugin-Authentication.git] / t / lib / RemoteTestApp2.pm
1 package RemoteTestApp2;
2
3 use Catalyst qw/
4    Authentication
5 /;
6
7 use base qw/Catalyst/;
8 __PACKAGE__->engine_class('RemoteTestEngine');
9 __PACKAGE__->config(
10     'Plugin::Authentication' => {
11         default_realm => 'remote',
12         realms => {
13             remote => {
14                 credential => {
15                     class => 'Remote',
16                     allow_regexp => '^(bob|john|CN=.*)$',
17                     deny_regexp=> 'denied',
18                     cutname_regexp=> 'CN=(.*)/OU=Test',
19                     source => 'SSL_CLIENT_S_DN',
20                     username_field => 'my_user_name',
21                 },
22                 store => {
23                     class => 'Null',
24                 },
25             },
26         },
27     },
28 );
29
30 sub default : Local {
31     my ( $self, $c ) = @_;
32     if ($c->authenticate()) {
33         $c->res->body( 'User:'
34               . $c->user->{id} . "\n"
35               . 'my_user_name:'
36               . $c->user->{my_user_name} );
37     }
38     else {
39         $c->res->body('FAIL');
40         $c->res->status(403);
41     }
42 }
43
44 sub public : Local {
45     my ( $self, $c ) = @_;
46     $c->res->body('OK');
47 }
48
49 __PACKAGE__->setup;
50