Yancy::Plugin::Auth::Github - Authenticate using Github's OAuth2 provider
version 1.043
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 } );
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.
Returns the user row of the currently-logged-in user.
This plugin has the following configuration options.
The client ID, provided by Github.
The client secret, provided by Github.
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 );
This plugin has the following helpers.
Get the current user from the session, if any. Returns undef if no user was found in the session.
undef
my $user = $c->yancy->auth->current_user || return $c->render( status => 401, text => 'Unauthorized' );
Validate there is a logged-in user and optionally that the user data has certain values. See "require_user" in Yancy::Plugin::Auth::Role::RequireUser.
The layout that Yancy uses when displaying the login form, the unauthorized error message, and other auth-related pages.
Yancy::Plugin::Auth, Yancy::Plugin::Auth::OAuth2
Doug Bell <preaction@cpan.org>
This software is copyright (c) 2019 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.
To install Yancy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Yancy
CPAN shell
perl -MCPAN -e shell install Yancy
For more information on module installation, please visit the detailed CPAN module installation guide.