Compatibility shims
[catagits/Catalyst-Plugin-Authentication.git] / lib / Catalyst / Plugin / Authentication / Store / Minimal.pm
index 91c7c13..bc4a32e 100644 (file)
@@ -3,98 +3,7 @@ package Catalyst::Plugin::Authentication::Store::Minimal;
 use strict;
 use warnings;
 
-use Catalyst::Plugin::Authentication::User::Hash;
-use Scalar::Util ();
-use base qw/Class::Accessor::Fast/;
-
-BEGIN {
-    __PACKAGE__->mk_accessors(qw/userhash/);
-}
-
-sub new {
-    my ( $class, $config, $app) = @_;
-
-    bless { userhash => $config->{'users'} }, $class;
-}
-
-sub from_session {
-       my ( $self, $c, $id ) = @_;
-
-       return $id if ref $id;
-
-       $self->find_user( { id => $id } );
-}
-
-## this is not necessarily a good example of what find_user can do, since all we do is   
-## look up with the id anyway.  find_user can be used to locate a user based on other 
-## combinations of data.  See C::P::Authentication::Store::DBIx::Class for a better example
-sub find_user {
-    my ( $self, $userinfo, $c ) = @_;
-
-    my $id = $userinfo->{'id'};
-    
-    $id ||= $userinfo->{'username'};
-    
-    return unless exists $self->userhash->{$id};
-
-    my $user = $self->userhash->{$id};
-
-    if ( ref $user ) {
-        if (     Scalar::Util::blessed($user) 
-             and $user->isa('Catalyst::Plugin::Authentication::User::Hash') ) 
-        {
-            return $user;
-        }
-        if ( ref $user eq "HASH" ) {
-            $user->{id} ||= $id;
-            return bless $user, "Catalyst::Plugin::Authentication::User::Hash";
-        }
-        else {
-            Catalyst::Exception->throw( "The user '$id' is a reference of type "
-                  . ref($user)
-                  . " but should be a HASH" );
-        }
-    }
-    else {
-        Catalyst::Exception->throw(
-            "The user '$id' is has to be a hash reference or an object");
-    }
-
-    return $user;
-}
-
-sub user_supports {
-    my $self = shift;
-
-    # choose a random user
-    scalar keys %{ $self->userhash };
-    ( undef, my $user ) = each %{ $self->userhash };
-
-    $user->supports(@_);
-}
-
-## Backwards compatibility
-#
-# This is a backwards compatible routine.  get_user is specifically for loading a user by it's unique id
-# find_user is capable of doing the same by simply passing { id => $id }  
-# no new code should be written using get_user as it is deprecated.
-sub get_user {
-    my ( $self, $id ) = @_;
-    $self->find_user({id => $id});
-}
-
-## backwards compatibility
-sub setup {
-    my $c = shift;
-
-    $c->default_auth_store(
-        __PACKAGE__->new( 
-            $c->config->{authentication}, $c
-        )
-    );
-
-       $c->NEXT::setup(@_);
-}
+use base qw/Catalyst::Authentication::Store::Minimal/;
 
 __PACKAGE__;
 
@@ -104,118 +13,14 @@ __END__
 
 =head1 NAME
 
-Catalyst::Plugin::Authentication::Store::Minimal - Minimal
-authentication store.
+Catalyst::Plugin::Authentication::Store::Minimal - Compatibility shim
 
-=head1 SYNOPSIS
-
-    # you probably just want Store::Minimal under most cases,
-    # but if you insist you can instantiate your own store:
-
-    use Catalyst::Plugin::Authentication::Store::Minimal;
-
-    use Catalyst qw/
-        Authentication
-    /;
-
-    __PACKAGE__->config->{authentication} = 
-                    {  
-                        default_realm => 'members',
-                        realms => {
-                            members => {
-                                credential => {
-                                    class => 'Password',
-                                    password_field => 'password',
-                                    password_type => 'clear'
-                                },
-                                store => {
-                                    class => 'Minimal',
-                                       users = {
-                                           bob => {
-                                               password => "s00p3r",                                       
-                                               editor => 'yes',
-                                               roles => [qw/edit delete/],
-                                           },
-                                           william => {
-                                               password => "s3cr3t",
-                                               roles => [qw/comment/],
-                                           }
-                                       }                       
-                                   }
-                               }
-                       }
-                    };
-
-    
 =head1 DESCRIPTION
 
-This authentication store lets you create a very quick and dirty user
-database in your application's config hash.
-
-You will need to include the Authentication plugin, and at least one Credential
-plugin to use this Store. Credential::Password is reccommended.
-
-It's purpose is mainly for testing, and it should probably be replaced by a
-more "serious" store for production.
-
-The hash in the config, as well as the user objects/hashes are freely mutable
-at runtime.
-
-=head1 CONFIGURATION
-
-=over 4
-
-=item class 
-
-The classname used for the store. This is part of
-L<Catalyst::Plugin::Authentication> and is the method by which
-Catalyst::Plugin::Authentication::Store::Minimal is loaded as the
-user store. For this module to be used, this must be set to
-'Minimal'.
-
-=item users
-
-This is a simple hash of users, the keys are the usenames, and the values are
-hashrefs containing a password key/value pair, and optionally, a roles/list 
-of role-names pair. If using roles, you will also need to add the 
-Authorization::Roles plugin.
-
-See the SYNOPSIS for an example.
-
-=back
-
-=head1 METHODS
-
-There are no publicly exported routines in the Minimal store (or indeed in
-most authentication stores)  However, below is a description of the routines 
-required by L<Catalyst::Plugin::Authentication> for all authentication stores.
-
-=over 4
-
-=item new ( $config, $app )
-
-Constructs a new store object, which uses the user element of the supplied config 
-hash ref as it's backing structure.
-
-=item find_user ( $authinfo, $c ) 
-
-Keys the hash by the 'id' or 'username' element in the authinfo hash and returns the user.
-
-... documentation fairy stopped here. ...
-
-If the return value is unblessed it will be blessed as
-L<Catalyst::Plugin::Authentication::User::Hash>.
-
-=item from_session $id
-
-Delegates to C<get_user>.
-
-=item user_supports
-
-Chooses a random user from the hash and delegates to it.
-
-=back
+THIS IS A COMPATIBILITY SHIM.  It allows old configurations of Catalyst
+Authentication to work without code changes.  
 
-=cut
+B<DO NOT USE IT IN ANY NEW CODE!>
 
+Please see L<Catalyst::Authentication::Store::Minimal> for more information.