ExpressJs

⌘K
  1. Home
  2. ExpressJs
  3. moduler project
  4. 03. check login register api

03. check login register api

with a Postman API documentation for the authentication module we’ve created, including JSON code examples for each endpoint. This documentation will use http://localhost:5000/api/auth/ as the base URL.

Here’s the Postman API documentation for your authentication module:

  1. User Registration
  2. URL: http://localhost:5000/api/auth/register
  3. Method: POST
  4. Body (raw JSON):
{
  "username": "newuser",
  "email": "newuser@example.com",
  "password": "password123"
}
  1. Response (201 Created):
{
  "message": "User registered successfully!",
  "userId": 1
}
  1. User Login
  2. URL: http://localhost:5000/api/auth/login
  3. Method: POST
  4. Body (raw JSON):
{
  "username": "newuser",
  "password": "password123"
}
  1. Response (200 OK):
{
  "id": 1,
  "username": "newuser",
  "email": "newuser@example.com",
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Protected Route Example

  • URL: http://localhost:5000/api/auth/protected
  • Method: GET
  • Headers:
  • x-access-token: <your_jwt_token>
  • Response (200 OK):
{
  "message": "This is a protected route."
}

Admin Route Example

  • URL: http://localhost:5000/api/auth/admin
  • Method: GET
  • Headers:
  • x-access-token: <your_jwt_token>
  • Response (200 OK):
{
  "message": "This is an admin route."
}

  1. Create Group
  2. URL: http://localhost:5000/api/auth/groups
  3. Method: POST
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "name": "Administrators"
}
  1. Response (201 Created):
{
  "id": 1,
  "name": "Administrators"
}
  1. Get All Groups
  2. URL: http://localhost:5000/api/auth/groups
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
[
  {
    "id": 1,
    "name": "Administrators"
  },
  {
    "id": 2,
    "name": "Users"
  }
]
  1. Get Group by ID
  2. URL: http://localhost:5000/api/auth/groups/1
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "id": 1,
  "name": "Administrators"
}
  1. Update Group
  2. URL: http://localhost:5000/api/auth/groups/1
  3. Method: PUT
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "name": "Super Administrators"
}
  1. Response (200 OK):
{
  "id": 1,
  "name": "Super Administrators"
}
  1. Delete Group
  2. URL: http://localhost:5000/api/auth/groups/1
  3. Method: DELETE
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "Group deleted successfully."
}
  1. Create Permission
  2. URL: http://localhost:5000/api/auth/permissions
  3. Method: POST
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "name": "Can view users",
  "codename": "view_users"
}
  1. Response (201 Created):
{
  "id": 1,
  "name": "Can view users",
  "codename": "view_users"
}
  1. Get All Permissions
  2. URL: http://localhost:5000/api/auth/permissions
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
[
  {
    "id": 1,
    "name": "Can view users",
    "codename": "view_users"
  },
  {
    "id": 2,
    "name": "Can edit users",
    "codename": "edit_users"
  }
]
  1. Get Permission by ID
  2. URL: http://localhost:5000/api/auth/permissions/1
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "id": 1,
  "name": "Can view users",
  "codename": "view_users"
}
  1. Update Permission
  2. URL: http://localhost:5000/api/auth/permissions/1
  3. Method: PUT
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "name": "Can view and edit users",
  "codename": "view_edit_users"
}
  1. Response (200 OK):
{
  "id": 1,
  "name": "Can view and edit users",
  "codename": "view_edit_users"
}
  1. Delete Permission
  2. URL: http://localhost:5000/api/auth/permissions/1
  3. Method: DELETE
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "Permission deleted successfully."
}
  1. Assign Permission to Group
  2. URL: http://localhost:5000/api/auth/groups/1/permissions
  3. Method: POST
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "permissionId": 2
}
  1. Response (200 OK):
{
  "message": "Permission assigned to group successfully."
}
  1. Remove Permission from Group
  2. URL: http://localhost:5000/api/auth/groups/1/permissions/2
  3. Method: DELETE
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "Permission removed from group successfully."
}

Assign multiple permissions to a group:

  • URL: http://localhost:5000/api/auth/groups/1/permissions/bulk
  • Method: POST
  • Headers:
  • x-access-token: <your_jwt_token>
  • Body (raw JSON):
{
  "permissionIds": [1, 2, 3, 4]
Response (200 OK):

Remove multiple permissions from a group:

  • URL: http://localhost:5000/api/auth/groups/1/permissions/bulk
  • Method: DELETE
  • Headers:
  • x-access-token: <your_jwt_token>
  • Body (raw JSON):
{
  "permissionIds": [2, 4]
}
{
  "message": "Permissions removed from group successfully."
}
  1. Assign Permission to User
  2. URL: http://localhost:5000/api/auth/users/1/permissions
  3. Method: POST
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Body (raw JSON):
{
  "permissionId": 2
}
  1. Response (200 OK):
{
  "message": "Permission assigned to user successfully."
}
  1. Remove Permission from User
  2. URL: http://localhost:5000/api/auth/users/1/permissions/2
  3. Method: DELETE
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "Permission removed from user successfully."

Assign multiple permissions to a user:

  • URL: http://localhost:5000/api/auth/users/1/permissions/bulk
  • Method: POST
  • Headers:
  • x-access-token: <your_jwt_token>
  • Body (raw JSON):
{
  "permissionIds": [1, 3, 5]
}

Remove multiple permissions from a user:

  • URL: http://localhost:5000/api/auth/users/1/permissions/bulk
  • Method: DELETE
  • Headers:
  • x-access-token: <your_jwt_token>
  • Body (raw JSON):
{
  "permissionIds": [3, 5]
}
  1. Protected Route Example
  2. URL: http://localhost:5000/api/auth/protected
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "This is a protected route."
}
  1. Admin Route Example
  2. URL: http://localhost:5000/api/auth/admin
  3. Method: GET
  4. Headers:
  5. x-access-token: <your_jwt_token>
  6. Response (200 OK):
{
  "message": "This is an admin route."
}

To use these endpoints in Postman:

  1. Create a new request for each endpoint.
  2. Set the HTTP method and URL as specified.
  3. For routes requiring authentication, add the x-access-token header with the JWT token you received from the login route.
  4. For POST and PUT requests, set the body to “raw” and select JSON format, then input the provided JSON payload.
  5. Send the request and check the response.

Remember to replace any placeholder IDs (like :id, :userId, :groupId, :permissionId) with actual IDs when testing these endpoints. Also, ensure your server is running on http://localhost:5000 before testing these endpoints.

How can we help?