WWW::YoutubeViewer::Authentication - OAuth login support.

NAME

WWW::YoutubeViewer::Authentication - OAuth login support.

SYNOPSIS

use WWW::YoutubeViewer;
my $hash_ref = WWW::YoutubeViewer->oauth_login($code);

SUBROUTINES/METHODS

oauth_refresh_token()

Refresh the access_token using the refresh_token. Returns a HASH ref with the `access_token` or undef.

get_accounts_oauth_url()

Creates an OAuth URL with the 'code' response type. (Google's authorization server)

This method is deprecated: https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html

get_user_auth_code()

OAuth 2.0 for TV and Limited-Input Device Applications.

Returns info containting the user code for:

https://www.google.com/device

Returned data structure:

{
  "device_code"      => "...",
  "user_code"        => "...",
  "expires_in"       => 1800,
  "interval"         => 5,
  "verification_url" => "https://www.google.com/device"
}

More info: https://developers.google.com/identity/protocols/oauth2/limited-input-device

oauth_login_tv($code_info)

OAuth 2.0 for TV and Limited-Input Device Applications.

Takes the output returned by get_user_auth_code().

On success, it returns the following structure, containing the access and refresh tokens:

{
  access_token  => "...",
  expires_in    => 3600,
  refresh_token => "...",
  scope         => "https://www.googleapis.com/auth/youtube",
  token_type    => "Bearer",
}

oauth_login($code)

Returns a HASH ref with the access_token, refresh_token and some other info.

The $code can be obtained by going to the URL returned by the get_accounts_oauth_url() method.

load_authentication_tokens()

Will try to load the access and refresh tokens from authentication_file.

encode_token($token)

Encode the token with the key and return it.

decode_token($token)

Decode the token with the key and return it.

save_authentication_tokens()

Encode and save the access and refresh into the authentication_file.

load_credentials($file)

Load the API key and the client ID/SECRET values from a given JSON file having the following format:

{
    "key":           "API_KEY",
    "client_id":     "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
}

Returns true on success and false otherwise.

AUTHOR

Trizen, <echo dHJpemVuQHByb3Rvbm1haWwuY29tCg== | base64 -d>

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc WWW::YoutubeViewer::Authentication

LICENSE AND COPYRIGHT

Copyright 2013-2015 Trizen.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See https://dev.perl.org/licenses/ for more information.

 WWW::YoutubeViewer::Authentication - OAuth login support.