List all methods of REST API and explain the API functionality
Login
This API is used to authenticate user to the system. User invokes this API to login to the system.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/login
HTTP Request Header: Content-Type: application/json
HTTP Request Body: {
"username":"[Name]",
"password":"[Password]",
"system_id":"[System ID from IAM2]",
"system_secret":"[System secret code]"
}
HTTP Response Body: {
"accessToken": "5T_e-GoXlHd_xUIh7ot31_x2g-tihld7_f4t_mvSwgE=" // the IAM accessToken
}
Permission
This API is used to retrieve all roles and objects associated to a user permission. The response for this lists all the available roles and objects that are accessible by the user.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/perms/{accessToken}
HTTP Method: GET
HTTP Request Header: n/a
HTTP Request Body: n/a
HTTP Response Body: {
"Permission": {
"role": [
{
"role_id": -2,
"role_name": "user",
"role_desc": null,
"parent_role": null,
"system_id": -99
}
],
"objectAccesses": [
{
"object_id": -9,
"object_name": "USER_PROFILE_USERMODE",
"object_type": "MENU_USER",
"object_ref_id": null,
"access": [
{
"access_id": 1,
"access_type": "view",
"object_id": -9
}
],
"object_property": [
{
"objectPropertyId": -9,
"objectId": -9,
"name": "profileusermode",
"value": "/profileusermode.html"
}
]
}]
}}
User Information
This API is used to retrieve all user information regarding the logged in user.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/userinfo/{accessToken}
HTTP Method: GET
HTTP Request Header: n/a
HTTP Request Body: n/a
HTTP Response Body: {
"User_info": {
"username": "[Username]",
"th_firstname": "[TH FirstName]",
"th_lastname": "[TH LastName]",
"en_firstname": "[EN FirstName]",
"en_lastname": "[EN LastName]",
"position": "[Position]",
"department": "[Department]",
"email": "[Email]",
"phone": "[Phone number]",
"phone_ext": null,
"mobile": "[Mobile number]",
"avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABiCAYAAACrpQYOAAAGTElEQVR42u2Ze2xURRTGeSj4ApGIMQYUEY3xD2Oif5ioJAgaEzWRBImoiY/E+EoMRaQCAgIVlEBIS6kGw0sQEQQfEK2C0N2WdktL2WoflHZ5dCuFbum7y3bb7Tjf7M7l3n21YHNDzHeSL+XeO3dm7vnNnHNmGTRoVo6grgLRCQRBEQRBUARBEBRBEARFEARBEQRBUARBEBRBEARFEARBEQRBUARBEHQCQVAEQRAUQRAERRAEQREEQVAEQRAUQRAERRAEQREEQVAEQRAUQRAEFU83znWKJ9e5xdNflvZbD60sEoMJYuB064I84evoEsGekFRvv3Ux2CPe2nHcPhCg/nh6iZi/76RY/Nsp+dcjJme6Y1bDLfPyxN3LXErD5zgsz274yBl+ttQVvp7rNNrG03jZbkgKnHRYXY/7tMDS31h5jfsTlrks929Kdaox8Bzzu+2Tw0nHuWtJgXhvV5XQVt/aJT4/cEasiKOVf9aKwtOtwmwt/qA9IEak5opir3VwbbmeZnG9dLBuuzT7tPEsw1Fn6eeFDX+r+51dPer6xc3lIplhdd78ca4CD+vtFZb+TjR0Gm1Hz88z7m8tOqfu7StvFEMlyB0l55OO42sPipQfq43rEm+bei+ZT2bIuWN+sEB3yB4QB080GZN0nW5Rq+WQvBeCZ6SV1XeoVRcNwtfeJcYsONwnCHTT4u+Oka8jKEZKEC9tuQTsgRWF6l2sYvSvbZrsW49zoTOo7q3LDS8EDQJhJN44Hp9fpOy5BMJd167AjpJjRwu7GH1eM9shdh1rsA/Ec+v/MlbnK1srLM+mbSiTHxdSQF77tjIGBOz4+U4jRCUCgfex6xLN4bo5TqM/OBX3pma5jRUJm/Nzjbo/Mc1lLJBJGSUWEEuyTyUc44Pd1aI/hjGf/zoMHcnaFhDYnqca/cZ2Hf6hI6bN9qPhj/y98oIFRLfJSW9+V/mfQEDVkTBU+k+7mhd2QG/E4bANrrOqXdof4fFDoV4J0DHgIHpkv9M3lal3psgcaQsIJF5ta3K8cdss+vWken62JWAB4W0OiCwZGuAsj69TJdDEoalXZOXViXSH1yLzDpyyzm0k0vFLC8RaR7jval8Y0Lm2LjF0do74wR0OF9uLzxnvahAumWSjx4BGy+80gyiXofb+5UfEfZ8VxmhcpADAYthypN4eELcvzDcm9/b3VXHbvLszXG00RSoHDaJOghm7OF+0B3qUwxw1zZedrDcV1hvjIGl3y3IR==" // image as base64 encoded
}
}
Get Objects
This API is used to retrieve all objects accessible to the logged in user.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/objects?search=admin&sort=object_id,asc&page=0&size=10
HTTP Method: GET
HTTP Request Header: Content-Type: application/json, IAMToken: {accessToken}
HTTP Request Body: n/a
HTTP Response Body: {
"content":[{ "object_id":-14,
"object_name":"SETTING",
"object_type_id":-1,
"object_type_name":null,
"system_id":-99,
"update_date":null,
"update_by":-1,
"create_date":1528178394000,
"create_by":-1,
"system_name":null,
"object_type_desc":null,
"object_permission_id":0,
"access_type":null,
"path":"/SETTING",
"object_ref_id":"SETTING",
"objectAccess":null,
"objectProperty":null,
"protect":"Y"}],
"totalElements":27,
"totalPages":3,
"firstPage":true,
"lastPage":false,
"sort":[{"direction":"ASC","property":"object_id","ascending":true}],"numberOfElements":10,"size":10,"number":0}
Get Object Types
This API is used to retrieve all objects types accessible to the logged in user.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/objectTypes
HTTP Method: GET
HTTP Request Header: Content-Type: application/json, IAMToken: {accessToken}
HTTP Request Body: n/a
HTTP Response Body: {
"content": [
{
"object_type_id": -2,
"object_type_name": "MENU_USER",
"object_type_desc": "Menu User",
"update_date": null,
"update_by": 0,
"create_date": null,
"create_by": 0,
"is_custom": "N",
"protect": "Y"
}
],
"totalElements": 14,
"totalPages": 1,
"firstPage": true,
"lastPage": true,
"sort": null,
"numberOfElements": 14,
"size": 50,
"number": 0
}
Get All Permissions
This API is used to retrieve all permissions from all the systems accessible to the logged in user.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/permissions?page=0&size=2
HTTP Method: GET
HTTP Request Header: Content-Type: application/json, IAMToken: {accessToken}
HTTP Request Body: n/a
HTTP Response Body: {
"content": [
{"permission_id":96,
"system_id":90,
"permission_name":"develop",
"parent_permission_id":0,
"update_date":null,
"update_by":0,
"create_date":1566533471000,
"create_by":107,
"path":"/develop",
"parent_permission_name":null}
],
"totalElements":154,
"totalPages":77,
"firstPage":true,
"lastPage":false,
"sort":null,
"numberOfElements":2,
"size":2,
"number":0}
Get All Users
This API is used to retrieve all users from all the systems.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/users
HTTP Method: GET
HTTP Request Header: Content-Type: application/json, IAMToken: {accessToken}
HTTP Request Body: n/a
HTTP Response Body: {
"content": [
{
"id": [User ID],
"username": "[Username]",
"fname": "[User first name]",
"lname": "[User Last name]"
}
],
"totalElements": 27,
"totalPages": 1,
"firstPage": true,
"lastPage": true,
"sort": null,
"numberOfElements": 27,
"size": 50,
"number": 0
}
Logout
This API is used to logout from the system.
URL: http://[SERVER]:[PORT]/IAM2RESTService/services/v1/logout/{accessToken}
HTTP Method: GET
HTTP Request Header: n/a
HTTP Request Body: n/a
HTTP Response Body: SUCCESS
Last updated