Skip to content

Plack::Middleware::HatenaOAuth - provide a login endpoint for Hatena OAuth

License

Notifications You must be signed in to change notification settings

hatena/Plack-Middleware-HatenaOAuth

Repository files navigation

Actions Status

NAME

Plack::Middleware::HatenaOAuth - provide a login endpoint for Hatena OAuth

SYNOPSIS

use Plack::Builder;
use Plack::Session;

my $app = sub {
    my $env = shift;
    my $session = Plack::Session->new($env);
    my $user_info = $session->get('hatenaoauth_user_info') || {};
    my $user_name = $user_info->{url_name};
    return [
        200,
        [ 'Content-Type' => 'text/html' ],
        [
            "<html><head><title>Hello</title><body>",
            $user_name
                ? "Hello, id:$user_name !"
                : "<a href='/login?location=/'>Login</a>"
        ],
    ];
};

builder {
    enable 'Session';
    enable 'Plack::Middleware::HatenaOAuth',
         consumer_key       => 'vUarxVrr0NHiTg==',
         consumer_secret    => 'RqbbFaPN2ubYqL/+0F5gKUe7dHc=',
         login_path         => '/login',
       # ua                 => LWP::UserAgent->new(...), # optional
         ;
    $app;
};

DESCRIPTION

This middleware adds an endpoint to start Hatena OAuth authentication flow to your Plack app.

CONFIGURATIONS

  • consumer_key

  • consumer_secret

      consumer_key    => 'vUarxVrr0NHiTg=='
      consumer_secret => 'RqbbFaPN2ubYqL/+0F5gKUe7dHc='
    

    A consumer key and consumer secret registered on the setting page for developers. Follow the instructions in the documentation on the devloper center for registration.

  • login_path

      login_path => '/login'
    

    An endpoint for OAuth login, which is added to your Plack app.

  • ua

      ua => LWP::UserAgent->new(...)
    

    A user agent to make a remote access to the OAuth server.

LICENSE

Copyright (C) Hatena Co., Ltd..

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

mechairoi ttsujikawa@gmail.com

INA Lintaro tarao.gnn@gmail.com

About

Plack::Middleware::HatenaOAuth - provide a login endpoint for Hatena OAuth

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages