It adds new configuration option to define the list of login methods. It defines a new Exception to use to request user data during the login process. It separates the generic login attempt protection from the actual authentication method. It replace the API of the login methods to use a dictionary of parameters instead of a single password. issue5521 review16191003
51 lines
1.3 KiB
ReStructuredText
51 lines
1.3 KiB
ReStructuredText
.. _topics-rpc:
|
|
|
|
=====================
|
|
Remote Procedure Call
|
|
=====================
|
|
|
|
There are two protocols supported by trytond: `JSON-RPC`_ (Version 1.0) and
|
|
`XML-RPC`_.
|
|
The URL of the calls must end with the database name with a trailing '/'.
|
|
|
|
The available methods are:
|
|
|
|
common.db.login
|
|
---------------
|
|
|
|
It takes as parameters: the user name and a dictionary of login parameters.
|
|
It returns in case of success the user ID and the session.
|
|
If the parameters are not valid to authenticate the user, it returns nothing.
|
|
Otherwise if it misses a key in the parameters, it raises a `LoginException`
|
|
exception with the missing key name, type and the message to ask to the
|
|
user.
|
|
|
|
common.db.logout
|
|
----------------
|
|
|
|
It takes no parameters and it invalidate the current session.
|
|
|
|
.. TODO:: other methods
|
|
|
|
.. _`JSON-RPC`: https://en.wikipedia.org/wiki/JSON-RPC
|
|
.. _`XML-RPC`: https://en.wikipedia.org/wiki/XML-RPC
|
|
|
|
Authorization
|
|
=============
|
|
|
|
Most of the calls require authorization, there are two methods:
|
|
|
|
Basic
|
|
-----
|
|
|
|
It follows the `Basic access authentication`_.
|
|
|
|
.. _`Basic access authentication`: https://en.wikipedia.org/wiki/Basic_access_authentication
|
|
|
|
Session
|
|
-------
|
|
|
|
The authorization field is constructed by the username, the user ID and the
|
|
session combined with a single colon and encoded in Base64.
|
|
The session is retrieved by calling the method `common.db.login`.
|