CONTENTS
- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
- CONFIGURATION
- HELPERS
- TEMPLATES
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
#NAME
Yancy::Plugin::Auth::Github - Authenticate using Github's OAuth2 provider
#VERSION
version 1.081
#SYNOPSIS
use Mojolicious::Lite;
plugin Yancy => {
backend => 'sqlite://myapp.db',
};
app->yancy->plugin( 'Auth::Github' => {
client_id => 'CLIENT_ID',
client_secret => $ENV{ OAUTH_GITHUB_SECRET },
schema => 'users',
username_field => 'username',
# TODO: Get other user information from Github, requesting
# scopes if necessary
} );
#DESCRIPTION
This module allows authenticating using the Github OAuth2 API.
This module extends the Yancy::Auth::Plugin::OAuth2 module to add Github features.
This module composes the Yancy::Auth::Plugin::Role::RequireUser role to provide the require_user authorization method.
#METHODS
#current_user
Returns the user row of the currently-logged-in user.
#login_form
Get a link to log in using Github.
#CONFIGURATION
This plugin has the following configuration options.
#client_id
The client ID, provided by Github.
#client_secret
The client secret, provided by Github.
#login_label
The label for the button to log in using Github. Defaults to Login with Github
.
#Sessions
This module uses Mojolicious sessions to store the login information in a secure, signed cookie.
To configure the default expiration of a session, use Mojolicious::Sessions default_expiration.
use Mojolicious::Lite;
# Expire a session after 1 day of inactivity
app->sessions->default_expiration( 24 * 60 * 60 );
#HELPERS
This plugin inherits all helpers from Yancy::Plugin::Auth::OAuth2.
#TEMPLATES
To override these templates, add your own at the designated path inside your app's templates/
directory.
#yancy/auth/github/login_form.html.ep
Display the button to log in using Github.
#layouts/yancy/auth.html.ep
The layout that Yancy uses when displaying the login form, the unauthorized error message, and other auth-related pages.
#SEE ALSO
Yancy::Plugin::Auth, Yancy::Plugin::Auth::OAuth2
#AUTHOR
Doug Bell <preaction@cpan.org>
#COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Doug Bell.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.