add api user role and fix api auth failure response
This commit is contained in:
@@ -19,6 +19,9 @@ __PACKAGE__->result_source_instance->view_definition(<<ENDSQL
|
||||
UNION
|
||||
SELECT username, 'ldap' AS role FROM users
|
||||
WHERE ldap
|
||||
UNION
|
||||
SELECT username, 'api', AS role FROM users
|
||||
WHERE token AND token_from
|
||||
ENDSQL
|
||||
);
|
||||
|
||||
|
||||
@@ -59,7 +59,16 @@ hook 'before' => sub {
|
||||
};
|
||||
|
||||
get qr{^/(?:login(?:/denied)?)?} => sub {
|
||||
template 'index', { return_url => param('return_url') };
|
||||
if (param('return_url') and param('return_url') =~ m{^/api/}) {
|
||||
status 403;
|
||||
return to_json {
|
||||
error => 'not authorized',
|
||||
return_url => param('return_url'),
|
||||
};
|
||||
}
|
||||
else {
|
||||
template 'index', { return_url => param('return_url') };
|
||||
}
|
||||
};
|
||||
|
||||
# override default login_handler so we can log access in the database
|
||||
|
||||
Reference in New Issue
Block a user