The User Module is implemented with the plg_jbackend_user plugin. It provides functions related to Joomla users and ACL. Here is the list of supported methods.
action=post module=user resource=login username=<username> password=<password>
<end-point>?action=post&module=user&resource=login&username=<username>&password=<password>
<end-point>/post/user/login?username=<username>&password=<password>
{ "status": "ok", "userid": <userid>, "username": "<username>", "session_id": "<session_id>" }
action=get module=user resource=logout
<end-point>?action=get&module=user&resource=logout
<end-point>/get/user/logout
{ "status": "ok" }
action=post module=user resource=register username=<username> password=<password> email=<email> firstname=<firstname> lastname=<lastname>
<end-point>?action=post&module=user&resource=register&username=<username>&password=<password>&email=<email>&firstname=<firstname>&lastname=<lastname>
<end-point>/post/user/register?username=<username>&password=<password>&email=<email>&firstname=<firstname>&lastname=<lastname>
{ "status": "ok" }
Sends an email to the user's account with a password remind link.
action=get module=user resource=remind email=<email>
<end-point>?action=get&module=user&resource=remind
<end-point>/get/user/remind
{ "status": "ok" }
Sends an email to the user's account with a password reset link.
action=get module=user resource=reset email=<email>
<end-point>?action=get&module=user&resource=reset
<end-point>/get/user/reset
{ "status": "ok" }
action=get module=user resource=profile
<end-point>?action=get&module=user&resource=profile
<end-point>/get/user/profile
{ "status": "ok", "fields": [ { "id": "<id>", "title": "<title>", "name": "<name>", "language": "<language>", "type": "<type>", "default_value": "<default value>", "context": "<context>", "group_id": "<group id>", "label": "<label>", "description": "<description>", "required": "<required>", "language_title": "<language title>", "language_image": "<language image>", "group_title": "<group title>", "value": "<value>", "rawvalue": "<raw value>" }, ... ], "_errors": [<_errors>], "groups": { "<groupid>": "<groupid>" ... }, "id": "<id>", "name": "<name>", "username": "<username>", "email": "<email>", "block": "<block>", "sendEmail": "<sendEmail>", "registerDate": "<registerDate>", "lastvisitDate": "<lastvisitDate>", "activation": "<activation>", "params": { "admin_style": "<admin_style>", "admin_language": "<admin_language>", "language": "<language>", "editor": "<editor>", "helpsite": "<helpsite>", "timezone": "<timezone>" }, "lastResetTime": "<lastResetTime>", "resetCount": "<resetCount>", "otpKey": "<otpKey>", "otep": "<otep>", "requireReset": "<requireReset>", "tags": { "typeAlias": <typeAlias>, "tags": "<tags>" } }
Allows to update the user profile (user must be authenticated). The requests must use the POST method with a JSON payload.
action=put module=user resource=profile
POST <end-point>?action=put&module=user&resource=profile
POST <end-point>/put/user/profile
{ "name": "<name>", "username": "<username>", "password": "<password>", "email": "<email>", "profile": { "city": "<city>" ... }, "com_fields": { "field-1": "<value 1>", "field-2": "<value 2>" ... } }
{ "status": "ok" }
Allows to check the current status of the user (guest or logged in), and provides some additional information.
action=get module=user resource=status
<end-point>?action=get&module=user&resource=status
<end-point>/get/user/status
{ "status": "ok", "is_guest": <0 or 1>, "user_id": "<user_id>", "session_id": "<session_id>", "session_expire": <session_expire> }
The following options are available for user plugin:
Option | Description |
Auto activate | Automatically activate users on registration and skip any notification email. |
Extended auth request | Process register, remind and reset as an authentication request (i.e. these requests can bypass the access restrictions on the endpoint). |
Extended fields | Enable support for additional fields in the registration. |
External libraries | List of paths (relative to JPATH_SITE) of external libraries to load in the registration (one path each row). |
Required fields | List of fields to include in the response for profile requests (when blank it returns all fields). Fields must be separated by commas and square brackets for nested fields (e.g. id,name,username,profile[city,region,country]). |
JSON Login | Enable JSON payload on login action. |
JSON Register | Enable JSON payload on register action. |
Enable session id | When enabled it overrides cookie based session with session_id parameter. This is useful when it is not possible to rely on cookie based session. This parameter can be passed as GET/POST param or as JSON field when JSON payload is enabled for the current request. |