Provided by: liblwp-authen-oauth2-perl_0.18-1_all 
      
    
NAME
       LWP::Authen::OAuth2::ServiceProvider::Line - Access Line OAuth2 API v2
VERSION
       version 0.18
SYNOPSIS
           my $oauth2 = LWP::Authen::OAuth2->new(
               service_provider => 'Line',
               redirect_uri     => 'http://example.com/',
               client_id        => 'line_client_id'      # Retrieved from https://developers.line.me/
               client_secret    => 'line_client_secret'  # Retrieved from https://developers.line.me/
           );
           my $url = $oauth2->authorization_url(state => $state);
           # ... Send user to authorization URL and get authorization $code ...
           $oauth2->request_tokens(code => $code);
           # Simple requests
           # User Info
           my $profile       = $oauth2->make_api_call('profile');
           my $userId        = $profile->{userId};
           my $displayName   = $profile->{displayName};
           my $pictureUrl    = $profile->{pictureUrl};
           my $statusMessage = $profile->{statusMessage};
           # Refresh
           $oauth2->refresh_access_token();
           # More complex requests...
           # Verify
           # Manually send the request using the internal user agent - see explanation in "Line API Documentation" below.
           my $access_token_str = $oauth2->access_token->access_token;
           my $res = $oauth2->user_agent->post($oauth2->api_url_base.'oauth/verify' => { access_token => $access_token_str });
           my $content = eval { decode_json($res->content) };
           my $scope      = $content->{scope};
           my $client_id  = $content->{client_id};
           my $expires_in = $content->{expires_in};
           # Revoke
           # Look up the internal refresh token - see explanation in "Line API Documentation" below.
           my $refresh_token_str = $oauth2->access_token->refresh_token;
           $oauth2->post($oauth2->api_url_base.'oauth/revoke' => { refresh_token => $refresh_token_str });
REGISTERING
       Individual users must have an account created with the Line application <https://line.me/download>.  In
       order to log in with OAuth2, users must register their email address. Device-specific instructions can be
       found on the Line support site <https://help.line.me/>.
       API clients can follow the Line Login <https://developers.line.me/line-login/overview> documentation to
       set up the OAuth2 credentials.
Line API Documentation
       See the Line Social REST API Reference <https://devdocs.line.me/en/#how-to-use-the-apis>.
       As of writing, there are two simple API calls: "profile" and "refresh".
       There are also "verify" and "revoke" endpoints, which require a bit more work.
       "verify"
           "verify"  is  designed for verifying pre-existing access tokens. Instead of using the "Authorization"
           header, this endpoint expects the access token to be form-urlencoded in the request body. Because  of
           this,  it's  necessary to get access to the internal access token string to send in the request body.
           The LWP::Authen::OAuth2::ServiceProvider::Line::AccessToken token class used by this service provider
           provides the "access_token" accessor for this purpose.
           The server seems to ignore the "Authorization" header for this request, so including it  is  probably
           not  a  problem.  If  you  want  to  avoid  sending the access token in the header, it's necessary to
           manually construct the request and decode the response.
           See "SYNOPSYS" for usage examples.
       "revoke"
           "revoke" requires the refresh token to be form-urlencoded in the request body. Because of this,  it's
           necessary  to  get  access  to  the  internal  refresh  token string to send in the request body. The
           LWP::Authen::OAuth2::ServiceProvider::Line::AccessToken token class used  by  this  service  provider
           provides the "refresh_token" accessor for this purpose. See "SYNOPSYS" for usage examples.
Refresh timing
       Line  access  tokens  can  be  refreshed at any time up until 10 days after the access token expires. The
       LWP::Authen::OAuth2::ServiceProvider::Line::AccessToken token class used by this service provider extends
       the "should_refresh" method for this purpose, causing "$oauth2->should_refresh()" to return false if this
       10-day period has lapsed.
AUTHOR
       Adam Millerchip, "<adam at millerchip.net>"
AUTHORS
       •   Ben Tilly, <btilly at gmail.com>
       •   Thomas Klausner <domm@plix.at>
COPYRIGHT AND LICENSE
       This software is copyright (c) 2013 - 2021 by Ben Tilly, Rent.com, Thomas Klausner.
       This is free software; you can redistribute it and/or modify it under  the  same  terms  as  the  Perl  5
       programming language system itself.
perl v5.32.0                                       2021-01-11             LWP::Authen::OA...eProvider::Line(3pm)