Lines 63-69
sub under {
Link Here
|
63 |
|
63 |
|
64 |
# /api/v1/{namespace} |
64 |
# /api/v1/{namespace} |
65 |
my $namespace = $c->req->url->to_abs->path->[2] // ''; |
65 |
my $namespace = $c->req->url->to_abs->path->[2] // ''; |
66 |
my $is_public = ($namespace eq 'public') ? 1 : 0; |
66 |
|
|
|
67 |
my $is_public = 0; # By default routes are not public |
68 |
my $is_plugin = 0; |
69 |
|
70 |
if ( $namespace eq 'public' ) { |
71 |
$is_public = 1; |
72 |
} |
73 |
|
74 |
if ( $namespace eq 'contrib' ) { |
75 |
$is_plugin = 1; |
76 |
} |
67 |
|
77 |
|
68 |
if ( $is_public |
78 |
if ( $is_public |
69 |
and !C4::Context->preference('RESTPublicAPI') ) |
79 |
and !C4::Context->preference('RESTPublicAPI') ) |
Lines 80-86
sub under {
Link Here
|
80 |
$status = 1; |
90 |
$status = 1; |
81 |
} |
91 |
} |
82 |
else { |
92 |
else { |
83 |
$status = authenticate_api_request($c, { is_public => $is_public }); |
93 |
$status = authenticate_api_request($c, { is_public => $is_public, is_plugin => $is_plugin }); |
84 |
} |
94 |
} |
85 |
|
95 |
|
86 |
} catch { |
96 |
} catch { |
Lines 242-248
sub authenticate_api_request {
Link Here
|
242 |
if ( !$authorization and |
252 |
if ( !$authorization and |
243 |
( $params->{is_public} and |
253 |
( $params->{is_public} and |
244 |
( C4::Context->preference('RESTPublicAnonymousRequests') or |
254 |
( C4::Context->preference('RESTPublicAnonymousRequests') or |
245 |
$user) ) ) { |
255 |
$user) ) or $params->{is_plugin} ) { |
246 |
# We do not need any authorization |
256 |
# We do not need any authorization |
247 |
# Check the parameters |
257 |
# Check the parameters |
248 |
validate_query_parameters( $c, $spec ); |
258 |
validate_query_parameters( $c, $spec ); |
249 |
- |
|
|