NAME

WebService::SOP::Auth::V1_1 - SOP version 1.1 authentication module

SYNOPSIS

use WebService::SOP::Auth::V1_1;

To create an instance:

my $auth = WebService::SOP::Auth::V1_1->new({
    app_id => '1',
    app_secret => 'hogehoge',
});

When making a GET request to API:

my $req = $auth->create_request(
    GET => 'https://<API_HOST>/path/to/endpoint' => {
        hoge => 'hoge',
        fuga => 'fuga',
    },
);

my $res = LWP::UserAgent->new->request($req);

When making a POST request with JSON data to API:

my $req = $auth->create_request(
    POST_JSON => 'http://<API_HOST>/path/to/endpoint' => {
        hoge => 'hoge',
        fuga => 'fuga',
    },
);

my $res = LWP::UserAgent->new->request($req);

When embedding JavaScript URL in page:

<script src="<: $req.uri.as_string :>"></script>

DESCRIPTION

WebService::SOP::Auth::V1_1 is an authentication module for SOP version 1.1 by Research Panel Asia, Inc.

METHODS

new( \%options )

Creates a new instance.

Possible options:

app_id

(Required) Your app_id.

app_secret

(Required) Your app_secret.

time

(Optional) POSIX time.

app_id

Gets app_id configured to instance.

app_secret

Gets app_secret configured to instance.

time

Gets time configured to instance.

create_request( $type, $uri, $params )

Creates a new HTTP::Request object for API request.

$type can be one of followings:

GET

For HTTP GET request to SOP endpoint with signature in query string as parameter sig.

POST

For HTTP POST request to SOP endpoint with signature in query string as parameter sig of request content type application/x-www-form-urlencoded.

POST_JSON

For HTTP POST request to SOP endpoint with signature as request header X-Sop-Sig of request content type application/json.

verify_signature( $sig, $params )

Verifies if request signature is valid.

SEE ALSO

WebService::SOP::Auth::V1_1::Request::GET, WebService::SOP::Auth::V1_1::Request::POST, WebService::SOP::Auth::V1_1::Request::POST_JSON, WebService::SOP::Auth::V1_1::Util

Research Panel Asia, Inc. website http://www.researchpanelasia.com/

LICENSE

Copyright (C) Research Panel Asia, Inc.

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

AUTHOR

yowcowvg <yoko_ohyama [ at ] voyagegroup.com>