Add autocreate user and add openid login back
[scpubgit/stemmaweb.git] / lib / stemmaweb.pm
index 3f66d19..1a9da7d 100644 (file)
@@ -23,16 +23,18 @@ use Search::GIN::Extract::Multiplex;
 use Catalyst qw/
     ConfigLoader
     Static::Simple
-    Unicode::Encoding
     Authentication
     Session
     Session::Store::File
     Session::State::Cookie
     StatusMessage
+    StackTrace
 /;
 
 extends 'Catalyst';
 
+use stemmaweb::Authentication::FormHandler;
+
 our $VERSION = '0.01';
 
 # Configure the application.
@@ -48,6 +50,8 @@ __PACKAGE__->config(
     name => 'stemmaweb',
     # Disable deprecated behavior needed by old applications
     disable_component_resolution_regex_fallback => 1,
+    # Set Unicode as the default
+    encoding => 'UTF-8',
     default_view => 'TT',
        'View::JSON' => {
                expose_stash => 'result',
@@ -79,9 +83,10 @@ __PACKAGE__->config(
                         uri         => 'http://openid.net/srv/ax/1.0',
                         mode        => 'fetch_request',
                         required    => 'email',
-                        type        => {
-                            email => 'http://axschema.org/contact/email'
-                        }
+                        'type.email' => 'http://axschema.org/contact/email',
+                        # type        => {
+                        #     email => 'http://axschema.org/contact/email'
+                        # }
                     }
                     ],
             },
@@ -91,19 +96,43 @@ __PACKAGE__->config(
             },
             auto_create_user => 1,
         },
+        google => {
+            credential => {
+                class => '+stemmaweb::Authentication::Credential::Google',
+            },
+            store => {
+                class => 'Model::KiokuDB',
+                model_name => 'Directory',
+            },
+            auto_create_user => 1,
+        },
     },
     ## Auth with CatalystX::Controller::Auth
     'Controller::Users' => {
+        form_handler => 'stemmaweb::Authentication::FormHandler',
         model => 'User',
         login_id_field => 'username',
         login_db_field => 'username',
-        action_after_login => '/index',
-        send_register_email => 0,
-        realm => 'openid',
+        action_after_login => '/users/success',
+        action_after_register => '/users/success', 
+        enable_sending_register_email => 0,
+        register_email_from  => '"Stemmaweb" <stemmaweb@byzantini.st>',
+        register_email_subject => 'Registration to stemmaweb',
+        register_email_template_plain => 'register-plain.tt',
+        realm => 'default',
         login_fields => { openid => [qw/openid_identifier/],
-                          default => [qw/username password/],
+                          default => [qw/username password remember/],
+                          google => [qw/email id_token/],
         },
     },
+    'View::Email::Template' => {
+        stash_key => 'email_template',
+    },
+
+    recaptcha => {
+        pub_key => '6LfR19MSAAAAACy2meHvLfZGRn3PM2rRYIAfh665',
+        priv_key => '6LfR19MSAAAAAMlQb8BdyecWNRE1bAL2YSgz2sah',
+    },
 );
 
 # Start the application