forked from Ponysearch/Ponysearch
50 lines
1.7 KiB
ReStructuredText
50 lines
1.7 KiB
ReStructuredText
|
.. _private engines:
|
||
|
|
||
|
============================
|
||
|
Private Engines (``tokens``)
|
||
|
============================
|
||
|
|
||
|
Administrators might find themselves wanting to limit access to some of the
|
||
|
enabled engines on their instances. It might be because they do not want to
|
||
|
expose some private information through :ref:`offline engines`. Or they would
|
||
|
rather share engines only with their trusted friends or colleagues.
|
||
|
|
||
|
To solve this issue the concept of *private engines* exists.
|
||
|
|
||
|
|
||
|
A new option was added to engines named `tokens`. It expects a list of
|
||
|
strings. If the user making a request presents one of the tokens of an engine,
|
||
|
they can access information about the engine and make search requests.
|
||
|
|
||
|
Example configuration to restrict access to the Arch Linux Wiki engine:
|
||
|
|
||
|
.. code:: yaml
|
||
|
|
||
|
- name: arch linux wiki
|
||
|
engine: archlinux
|
||
|
shortcut: al
|
||
|
tokens: [ 'my-secret-token' ]
|
||
|
|
||
|
|
||
|
Unless a user has configured the right token, the engine is going
|
||
|
to be hidden from him/her. It is not going to be included in the
|
||
|
list of engines on the Preferences page and in the output of
|
||
|
`/config` REST API call.
|
||
|
|
||
|
Tokens can be added to one's configuration on the Preferences page
|
||
|
under "Engine tokens". The input expects a comma separated list of
|
||
|
strings.
|
||
|
|
||
|
The distribution of the tokens from the administrator to the users
|
||
|
is not carved in stone. As providing access to such engines
|
||
|
implies that the admin knows and trusts the user, we do not see
|
||
|
necessary to come up with a strict process. Instead,
|
||
|
we would like to add guidelines to the documentation of the feature.
|
||
|
|
||
|
|
||
|
Acknowledgment
|
||
|
==============
|
||
|
|
||
|
This development was sponsored by `Search and Discovery Fund
|
||
|
<https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.
|