rsstootalizer/RSSTootalizer/Website/OAuthLogin.pm

49 lines
1.2 KiB
Perl
Raw Normal View History

2017-04-21 14:56:24 +00:00
#!/usr/bin/perl -w
use strict;
use HTML::Template;
2017-04-23 18:51:48 +00:00
use RSSTootalizer::Website;
use RSSTootalizer::App;
use RSSTootalizer::Token;
use RSSTootalizer::User;
2017-04-21 14:56:24 +00:00
2017-04-23 18:51:48 +00:00
package RSSTootalizer::Website::OAuthLogin;
@RSSTootalizer::Website::OAuthLogin::ISA = qw(RSSTootalizer::Website);
2017-04-21 14:56:24 +00:00
use Data::Dumper;
use JSON;
sub requires_authentication {
return 0;
}
sub fill_content {
return 1;
}
sub prerender {
my $self = shift;
2017-04-21 19:45:58 +00:00
my $instance = $main::FORM{inputInstance};
$instance = $main::FORM{instance} unless defined($instance);
2017-04-21 14:56:24 +00:00
$self->{"template"} = "OAuthLogin";
$self->{"content_type"} = "html";
2017-04-21 19:45:58 +00:00
$self->{"set_cookie"} = ("instance=".$instance);
2017-04-21 14:56:24 +00:00
$self->{"params"}->{"currentmode"} = "OAuthLogin";
2017-04-23 18:51:48 +00:00
my $app = RSSTootalizer::App->get_or_create_by_instance($instance);
2017-04-21 19:45:58 +00:00
$self->{params}->{instance_redirect_uri} = $main::config->{app}->{redirect_uris};
$self->{params}->{instance_client_id} = $app->{data}->{instance_client_id};
$self->{params}->{instance} = $instance;
$self->{params}->{token_is_valid} = "false";
2017-04-22 20:22:55 +00:00
if (defined($main::FORM{session_id})){
2017-04-23 18:51:48 +00:00
my $user = RSSTootalizer::User->authenticate();
2017-04-22 20:22:55 +00:00
if ($user){
2017-04-21 19:45:58 +00:00
$self->{params}->{token_is_valid} = "true";
}
# {"error":"The access token is invalid"}
2017-04-21 14:56:24 +00:00
}
}
1;