ken {
my ($self, $params) = @_;
$params->{client_id} = $self->client_id;
return $self->POST_JSON($self->uri_for('oauth','access_token'), $params);
}
=head2 oauth_ro
POST $DOMAIN/oauth/ro
_ro {
my ($self, $params) = @_;
$params->{client_id} = $self->client_id;
return $self->POST_JSON($self->uri_for('oauth','ro'), $params);
}
=head2 logout
GET $DOMAIN/v2/logout
L<https://au
nup {
my ($self, $params) = @_;
$params->{client_id} = $self->client_id;
return $self->POST_JSON($self->uri_for('dbconnections','signup'), $params);
}
=head2 change_db_password
POST $DOMAI
::Role::Create;
use Moo::Role;
requires 'POST_JSON', 'uri_for';
sub create {
my ($self, $json) = @_;
return $self->POST_JSON($self->uri_for, $json);
}
1;
=head1 NAME
WebService::Auth0::Manag
ors','sms','templates'));
}
sub update_templates {
my ($self, $body) = @_;
return $self->PUT_JSON($self->uri_for('factors','sms','templates'), $body);
}
sub providers_by_name {
my ($self, $fac
ta) = @_;
return $self->POST_JSON($self->uri_for('enrollments','ticket'),$data);
}
sub update_factor {
my ($self, $factor_name, $data) = @_;
return $self->PUT_JSON($self->uri_for('factor', $fac
tor_name), $data);
}
sub put_twilio {
my ($self, $data) = @_;
return $self->PUT_JSON($self->uri_for('factor', 'sms', 'providers', 'twilo'), $data);
}
=head1 NAME
WebService::Auth0::Management::
package WebService::Auth0::UA::LWP;
use Moo;
use LWP::UserAgent;
use JSON::MaybeXS;
use Future;
has options => (is=>'ro', required=>1, default=>sub { +{} });
has ua => (
is=>'ro',
lazy=>1,
req
esponse = $self->ua->request($request);
my $json_err;
my $data = do {
# Required because I often see 204 no content but with
# application/json as the content type
if($response->code =
/json' ?
decode_json($response->decoded_content) :
$response;
} || do {
$json_err = $@;
};
}
};
if($json_err) {
return Future->fail(
$json
$params) = @_;
return $self->POST_JSON($self->uri_for('user-imports'), $params);
}
sub verification_email {
my ($self, $params) = @_;
return $self->POST_JSON($self->uri_for('verification-email'
e {
my ($self, $data) = @_;
return $self->POST_JSON($self->uri_for(), $data);
}
sub update {
my ($self, $data) = @_;
return $self->PATCH_JSON($self->uri_for(), $data);
}
=head1 NAME
WebServ
->GET($self->uri_for($params));
}
sub update {
my ($self, $params) = @_;
return $self->PATCH_JSON($self->uri_for(), $params);
}
=head1 NAME
WebService::Auth0::Management::Tenants - Users manage
::Update;
use Moo::Role;
requires 'POST_JSON', 'uri_for';
sub update {
my ($self, $id, $json) = @_;
return $self->PATCH_JSON($self->uri_for($id), $json);
}
1;
=head1 NAME
WebService::Auth0::
package WebService::Auth0::Management::Base;
use Moo;
use URI;
use HTTP::Request::Common ();
use JSON::MaybeXS ();
has domain => (
is=>'ro',
required=>1 );
has token => (
is=>'ro',
required
)) }
sub encode_json { shift; JSON::MaybeXS::encode_json(shift) }
sub POST_JSON {
my ($self, $uri, $json) = @_;
return $self->POST( $uri,
'content-type' => 'application/json',
Content =>
_json($json));
}
sub PUT_JSON {
my ($self, $uri, $json) = @_;
return $self->PUT( $uri,
'content-type' => 'application/json',
Content => $self->encode_json($json));
}
sub PATCH_JSON {
m
ms) = @_;
return $self->POST_JSON($self->uri_for('email-verification'), $params);
}
sub create_password_change {
my ($self, $params) = @_;
return $self->POST_JSON($self->uri_for('password-chang
metadata=>$data});
}
sub link_account {
my ($self, $user_id, $data) = @_;
return $self->POST_JSON($self->uri_for($user_id), $data);
}
sub unlink_account {
my ($self, $user_id, $provider, $iden
package WebService::Auth0::HTTPClient;
use Moo;
use URI;
use HTTP::Request::Common ();
use JSON::MaybeXS ();
has domain => (
is=>'ro',
required=>1 );
has ua => (
is=>'bare',
handles=>['requ
_json { shift; JSON::MaybeXS::encode_json(shift) }
sub _prepare_json_req {
my ($self, $uri, $json) = @_;
return ( $uri,
'content-type' => 'application/json',
Content => $self->encode_json
($json) );
}
sub POST_JSON {
my $self = shift;
return $self->POST($self->_prepare_json_req(@_));
}
sub PUT_JSON {
my $self = shift;
return $self->PUT($self->_prepare_json_req(@_));
}
sub PA