NAME
    Mojolicious::Plugin::Web::Auth - Authentication plugin for Mojolicious

SYNOPSIS
      # Mojolicious
      $self->plugin('Web::Auth'
          module      => 'Twitter',
          key         => 'Twitter consumer key',
          secret      => 'Twitter consumer secret',
          on_finished => sub {
              my ( $c, $access_token, $access_secret ) = @_;
              ...
          },
      );

      # Mojolicious::Lite
      plugin 'Web::Auth',
          module      => 'Twitter',
          key         => 'Twitter consumer key',
          secret      => 'Twitter consumer secret',
          on_finished => sub {
              my ( $c, $access_token, $access_secret ) = @_;
              ...
          };


      ### default authentication endpoint: /auth/{moniker}/authenticate
      # e.g.)
      # /auth/twitter/authenticate
      # /auth/facebook/authenticate
      ### default callback endpoint: /auth/{moniker}/callback
      # e.g.)
      # /auth/twitter/callback
      # /auth/facebook/callback

DESCRIPTION
    Mojolicious::Plugin::Web::Auth is authentication plugin for Mojolicious.

METHODS
    Mojolicious::Plugin::Directory inherits all methods from
    Mojolicious::Plugin.

OPTIONS
    Mojolicious::Plugin::Web::Auth supports the following options.

  "module"
    This is a module name for authentication plugins.

    Dropbox, Facebook, Github, Google, Instagram, Twitter.

  "key"
    consumer key

  "secret"
    consumer secret

  "scope"
    optional. OAuth 2.0 only.

      # Facebook
      plugin 'Web::Auth',
          module      => 'Facebook',
          key         => 'Facebook App ID',
          secret      => 'Facebook App Secret',
          scope       => 'email,user_birthday',
          on_finished => sub {
              my ( $c, $access_token, $user_info ) = @_;
              ...
          };

  "on_finished"
      # Mojolicious::Lite
      plugin 'Web::Auth',
          module      => 'Twitter',
          key         => 'Twitter consumer key',
          secret      => 'Twitter consumer secret',
          on_finished => sub {
              my ( $c, $access_token, $access_secret, $user_ino ) = @_;
              ...
          };

    This is a callback when authentication was finished.

   arguments
    *   OAuth 1.0(A)

        Dropbox, Twitter, etc.

        Mojolicious::Controller
        access_token
        access_secret
        user_info ( enabled 'user_info' )

    *   OAuth 2.0

        Facebook, Github, Google, Instagram, etc.

        Mojolicious::Controller
        access_token
        user_info ( enabled 'user_info' )

  "on_error"
    This is a callback when authentication was errored.

AUTHOR
    hayajo <hayajo@cpan.org>

SEE ALSO
    Mojolicious, Amon2::Auth

