[Catalyst] Catalyst authentication w/ CAS

Baron Fujimoto catalystframework.org at monkeybutt.com
Thu Sep 10 20:01:24 GMT 2015


Hmm, I have now (sorry, didn't occur to me to look there). If I create a
new skeleton app using that, it kicks out to our CAS server as expected,
but after authenticating there I end up in the if( $c->authenticate )
else block with Access Denied. So I have two things to sort out now: 1)
find the difference between the example app below and mine that allows it
to successfully call CAS, and 2) determine why $c->authenticate is being
evaluated as false.

Aloha,
-baron

On Wed, 9 Sep 2015, David Schmidt wrote:

> Have you looked at the test application of the CAS module?
>
> https://metacpan.org/source/KKANE/Catalyst-Authentication-Credential-CAS-0.05/t/lib/MyApp/lib/MyApp.pm
>
> On 9 September 2015 at 05:40, Baron Fujimoto
> <catalystframework.org at monkeybutt.com> wrote:
>> Hello,
>>
>> ObWarning: Total Catalyst noob here. I'm fairly familiar with Perl, but
>> am just getting started with Catalyst. I'm more used to back-end, or
>> command line type perl applications and utilities, but now I'm trying to
>> develop a fairly simple web application and my survey of options turned
>> up Catalyst. So far I've run through the tutorials up through
>> Authorization at <https://metacpan.org/pod/Catalyst::Manual::Tutorial>,
>> though I won't pretend I've grokked most of it yet.
>>
>> One of the reasons I've decided to try Catalyst, is that I would like to
>> authenticate the app's users with JASIG's CAS, and I noted that there's a
>> Catalyst::Authentication::Credential::CAS module.
>>
>> Is there a more fleshed out example of using this than in the metacpan
>> documentation?
>>
>> I'm starting with trying to add CAS authentication to what is basically
>> the Tutorial's Hello World app at the end of
>> <https://metacpan.org/pod/Catalyst::Manual::Tutorial::02_CatalystBasics>
>>
>> Per the Authentication tutorial and the documentation for
>> Catalyst::Authentication::Credential::CAS, I have the following in
>> lib/MyApp.pm:
>>
>>
>> use Catalyst qw/
>>     -Debug
>>     ConfigLoader
>>     Static::Simple
>>
>>     StackTrace
>>
>>     Authentication
>>
>>     Session
>>     Session::Store::File
>>     Session::State::Cookie
>> /;
>>
>> ...
>> # modified to match the style in the AuthN tutorial
>> __PACKAGE__->config(
>>     'Plugin::Authentication' => {
>>         default_realm => 'default',
>>         default => {
>>             credential => {
>>                 class          => 'CAS',
>>                 uri            => 'https://cas.example.com/cas',
>>                 #username_field => 'username', # optional
>>                 #version        => '2.0',      # optional
>>             },
>>         },
>>         #store => {
>>         #  ...
>>         #},
>>     },
>> );
>>
>> And in lib/MyApp/Controller/Root.pm:
>>
>> When the development server reloads, I get the following output:
>>
>> [debug] Debug messages enabled
>> [debug] Statistics enabled
>> [debug] Loaded Config ".../MyApp/myapp.conf"
>> [debug] Setting up auth realm default
>> [debug] No Store specified for realm "default", using the Null store.
>> Global symbol "$c" requires explicit package name at
>> +.../MyApp/script/../lib/MyApp/Controller/Root.pm line 74.
>> Global symbol "$c" requires explicit package name at
>> +.../MyApp/script/../lib/MyApp/Controller/Root.pm line 74.
>> Global symbol "$c" requires explicit package name at
>> +.../MyApp/script/../lib/MyApp/Controller/Root.pm line 75.
>> Global symbol "$c" requires explicit package name at
>> +.../MyApp/script/../lib/MyApp/Controller/Root.pm line 76.
>> BEGIN not safe after errors--compilation aborted at
>> +.../MyApp/script/../lib/MyApp/Controller/Root.pm line 79.
>>
>> I had commented out 'store' in the Plugin::Authentication config hash
>> since I wasn't sure what to use there yet, and at least it seems nominally
>> ok with a "Null" store for now.
>>
>> I'm not sure why the global symbol errors though, since since $c is used
>> in the other methods.
>>
>> I apologize for what are probably very basic questions, but I would
>> appreciate any guidance here.
>>
>> Aloha,
>> -baron
>>
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>> Dev site: http://dev.catalyst.perl.org/
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



More information about the Catalyst mailing list