Andrew Fletcher published: 16 May 2022 (updated) 7 June 2022 1 minute read
For an introduction into setting up RESTful hal+json refer to the set-up documentation. Also see the Query - user screen.
Login a member
POST: {domain}/user/login?_format=hal_json
Content-type: application/hal_json
Accept: application/hal+json
{
"name": "username",
"pass": "password"
}
Example:
{
"name": "jacque",
"pass": "nOtmYp1ssWorD"
}
Example response
{
"current_user": {
"uid": "200",
"name": "jacque"
},
"csrf_token": "kHVeh_ZWh5mwzZxrZGwc0smH3M5vfNX5C6H6oFyEVik",
"logout_token": "VGvCWlByqwU4r5d_D45t4Kj1TShDaCdNrEZZ3qtuAUQ"
}
If you are using json rather than hal_json, then accordingly alter the above to match. For example
POST: {domain}/user/login?_format=json
Content-type: application/json
Accept: application/json
Logout a member
GET {domain}/user/logout?_format=json&token={token}
Content-type: text/html
Replace {token} with your logout_token when the respective user logged in... for example
{
"logout_token": "VGvCWlByqwU4r5d_D45t4Kj1TShDaCdNrEZZ3qtuAUQ"
}
As noted from the example above.
Retrieve a user's details
GET {domain}/user/{uid}?_format=hal_json
For more details regarding retrieving a user's details go to Query - user.
Recover / change a user's password
Have read through this article - How to recover or change or reset your password using REST.
Check if a user is logged in or not
To confirm a user is logged in use:
GET {domain}/user/login_status?_format=json
If the user is logged in the response will be
1
Otherwise, a non logged user will be
0
Related articles
Andrew Fletcher
•
22 Apr 2024
Streamlined Drupal 10 Deployment: Best Practices for Stability and Security
Have you ever walked into a situation and marveled at how a site is still operational? Deployments that are riddled with fail-safes piled atop a shaky foundation. The real challenge lies in gradually persuading the team to embrace change to build a stable, robust deployment process aligned with...
Andrew Fletcher
•
21 Apr 2024
This command will help you spot any unusually large directories
The red flag was when I saw the server disk space is showing a site is taking up 57992.5 MB, where locally the site size is showing 957MB. There is something serious happening here and I need to establish the problem quickly. When dealing with a significant discrepancy in site size...
Andrew Fletcher
•
19 Apr 2024
Extending a Contrib Module's Configuration in Drupal 10: A Case Study with Sitewide Alert
Extending the functionality of a contrib module in Drupal can enhance its usefulness without altering the original codebase. This article provides a step-by-step guide on how to add custom configuration options to an existing contrib module, using the sitewide_alert module as an example. We will...