Mt-plugin-oauth-framework is a project mainly written in Perl, it's free.
provide easy way to use oauth for mt plugins
=pod
=head1 NAME
MT-OAuth-Framework
=head1 DESCRIPTION
A Movable Type plugin helps other plugins using OAuth. This plugin can manage consumer credentials, do and manage handshake with service provider for each user, access to protected resources and it's fallback.
=head1 SYNOPSIS
=head2 For MT User
At first, MT Administrator, maybe who had installed a plugin which using this framework, should do register your MT instance as New Application to the OAuth Service Provider.
=over 4
=item * Go to System > Settings > OAuth Servers
=item * click "regist this MT to SERVICEPROVIDER"
=item * Enter information about your MT Install as application
=item * save them, then look for consumer key and consumer secret in the service provider site
=item * Copy consumer key and consumer secret and paste them to MT setting screen
=item * save
=back
OK, now your MT install can handshake with the service provider. after that, let's see the plugin's instruction.
=head2 For Plugin writter
oauth_service_providers: example_provider: label: Example Provider regist_url: http://dev.example.com/apps/new/ manage_url: http://dev.example.com/apps/ request_token_url: https://api.example.com/oauth/request_token access_token_url: https://api.example.com/oauth/access_token authorize_url: https://api.example.com/oauth/authorize
use MT::OAuth;
sub post { my ($app) = shift; my (%forward) = @_;
my $text = $forward{post}{text} || $app->param('text');
my $author = $app->user or die;
my $client = MT::OAuth->client('example_provider');
return $server->access(
author_id => $author->id,
end_point => 'https://example.com/statuses/update.xml',
post => {
status => $text,
},
retry => 1, ## request to MT to go back to this method after handshaking.
callback => sub {
## when accessing to the resource is finished, this will be called.
return $app->return_to_dashboard;
},
);
}
=head1 Run with MT4.x
Some of perl modules bundled with MT4.x is too old to run this plugin. here is steps to run OAuthFramework plugin with MT4.x.
remove these files and directories from your ( MT4_HOME )/extlib directory.
( if you still got errors about LWP:: or HTTP::, ) install LWP to you system via CPAN or your system's package manager.