View | Details | Raw Unified | Return to bug 33708
Collapse All | Expand All

(-)a/Koha/REST/V1/OAuth/Client.pm (-7 / +6 lines)
Lines 43-67 Controller method handling login requests Link Here
43
sub login {
43
sub login {
44
    my $c = shift->openapi->valid_input or return;
44
    my $c = shift->openapi->valid_input or return;
45
45
46
    my $provider  = $c->validation->param('provider_code');
46
    my $provider  = $c->param('provider_code');
47
    my $interface = $c->validation->param('interface');
47
    my $interface = $c->param('interface');
48
48
49
    my $logger = Koha::Logger->get({ interface => 'api' });
49
    my $logger = Koha::Logger->get({ interface => 'api' });
50
50
51
    my $provider_config = $c->oauth2->providers->{$provider};
51
    my $provider_config = $c->oauth2->providers->{$provider};
52
52
53
    my $uri;
53
    my $uri;
54
    my $base_url;
54
    my $redirect_url;
55
55
56
    if ( $interface eq 'opac' ) {
56
    if ( $interface eq 'opac' ) {
57
        $base_url = C4::Context->preference('OPACBaseURL');
57
        $redirect_url = C4::Context->preference('OPACBaseURL') . '/api/v1/public/oauth/login/';
58
        if ( C4::Context->preference('OpacPublic') ) {
58
        if ( C4::Context->preference('OpacPublic') ) {
59
            $uri = '/cgi-bin/koha/opac-user.pl';
59
            $uri = '/cgi-bin/koha/opac-user.pl';
60
        } else {
60
        } else {
61
            $uri = '/cgi-bin/koha/opac-main.pl';
61
            $uri = '/cgi-bin/koha/opac-main.pl';
62
        }
62
        }
63
    } else {
63
    } else {
64
        $base_url = C4::Context->preference('staffClientBaseURL');
64
        $redirect_url = C4::Context->preference('staffClientBaseURL') . '/api/v1/oauth/login/';
65
        $uri = '/cgi-bin/koha/mainpage.pl';
65
        $uri = '/cgi-bin/koha/mainpage.pl';
66
    }
66
    }
67
67
Lines 76-82 sub login { Link Here
76
        $provider_config->{authorize_url} = $authorize_url->to_string;
76
        $provider_config->{authorize_url} = $authorize_url->to_string;
77
    }
77
    }
78
78
79
    return $c->oauth2->get_token_p( $provider, { redirect_uri => $base_url . '/api/v1/public/oauth/login/' . $provider . "/" . $interface } )->then(
79
    return $c->oauth2->get_token_p( $provider, { redirect_uri => $redirect_url . $provider . "/" . $interface } )->then(
80
        sub {
80
        sub {
81
            return unless my $response = shift;
81
            return unless my $response = shift;
82
82
83
- 

Return to bug 33708