How can I transfer resource/group ownership via API when deleting a user?

Hi all!
Need to automate deletion of users, but can’t find in the API docs how can I realize transfer ownership feature with API.

Tried to update database resources (without creation new “data” value in the “secrets” table), but no luck.
Found this:
“$this->Permissions->updateAll”
in the https://github.com/passbolt/passbolt_api/blob/master/src/Controller/Users/UsersDeleteController.php file, but can’t understand where I need to look after this or what db resources I need update.

Help please :slight_smile:
Very need to know how can I do this.

Hello,

Let’s take an example. I have a few users: admin, ada, betty and Test. Test is the owner of a group called “my group”, where betty is a regular member. Test has one password she owns that is shared with ada in read only. Carole is also the owner of another password via a group.

First I need to check if I can delete Test. Once I know the UUID of the user I want to delete I can try:

DELETE https://www.passbolt.test/users/64e4ce28-4092-4da7-a8e6-34b6c5cac9e1/dry-run.json?api-version=v2

I get the following answer (shorten a bit for clarity):

{
    "header": {
        "id": "b50c3676-77cd-4d31-8ab8-05dbff44e1d9",
        "status": "error",
        "servertime": 1576665282,
        "title": "app_users_dryrun_error",
        "action": "bec65e6e-9c29-5217-aabc-49fe2256cfce",
        "message": "The user cannot be deleted. You need to transfer the user group manager role to other users before deleting this user.You need to transfer the ownership for the shared passwords owned by this user before deleting this user.",
        "url": "\/users\/64e4ce28-4092-4da7-a8e6-34b6c5cac9e1\/dry-run.json?api-version=v2",
        "code": 400
    },
    "body": {
        "errors": {
            "groups": {
                "sole_manager": [
                    {
                        "id": "f00ab1ee-141e-4030-8d62-441944f82141",
                        "name": "my group",
                        "deleted": false,
                        "created": "2019-12-18T10:32:23+00:00",
                        "modified": "2019-12-18T10:32:23+00:00",
                        "created_by": "d57c10f5-639d-5160-9c81-8a0c6c4ec856",
                        "modified_by": "d57c10f5-639d-5160-9c81-8a0c6c4ec856",
                        "groups_users": [
                            {
                                "id": "75e7f03c-1560-4d71-ab0e-47d7f78a74cc",
                                "group_id": "f00ab1ee-141e-4030-8d62-441944f82141",
                                "user_id": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                                "is_admin": true,
                                "created": "2019-12-18T10:32:23+00:00",
                                "user": {
                                    "id": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                                    "role_id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
                                    "username": "test@passbolt.com",
                                    "active": true,
                                    "deleted": false,
                                    "created": "2019-12-18T10:29:55+00:00",
                                    "modified": "2019-12-18T10:30:36+00:00"
                                }
                            },
                            {
                                "id": "e60a352a-549e-460b-94f2-b6a117692740",
                                "group_id": "f00ab1ee-141e-4030-8d62-441944f82141",
                                "user_id": "e97b14ba-8957-57c9-a357-f78a6e1e1a46",
                                "is_admin": false,
                                "created": "2019-12-18T10:32:23+00:00",
                                "user": {
                                    "id": "e97b14ba-8957-57c9-a357-f78a6e1e1a46",
                                    "role_id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
                                    "username": "betty@passbolt.com",
                                    "active": true,
                                    "deleted": false,
                                    "created": "2019-11-21T16:08:53+00:00",
                                    "modified": "2019-11-28T16:08:53+00:00"
                                }
                            }
                        ]
                    }
                ]
            },
            "resources": {
                "sole_owner": [
                    {
                        "id": "7121e087-2c15-482b-8178-88f0b2af524c",
                        "name": "sole owner of shared password",
                        "username": null,
                        "uri": null,
                        "description": null,
                        "deleted": false,
                        "created": "2019-12-18T10:31:34+00:00",
                        "modified": "2019-12-18T10:31:51+00:00",
                        "created_by": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                        "modified_by": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                        "permissions": [
                            {
                                "id": "466779cf-487e-476f-a02c-422263f5b6d5",
                                "aco": "Resource",
                                "aco_foreign_key": "7121e087-2c15-482b-8178-88f0b2af524c",
                                "aro": "User",
                                "aro_foreign_key": "f848277c-5398-58f8-a82a-72397af2d450",
                                "type": 1,
                                "created": "2019-12-18T10:31:51+00:00",
                                "modified": "2019-12-18T10:31:51+00:00",
                                "group": null,
                                "user": {
                                    "id": "f848277c-5398-58f8-a82a-72397af2d450",
                                    "role_id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
                                    "username": "ada@passbolt.com",
                                    "active": true,
                                    "deleted": false,
                                    "created": "2019-10-05T16:08:53+00:00",
                                    "modified": "2019-11-05T16:08:53+00:00"
                                }
                            },
                            {
                                "id": "ce737da4-4411-41b2-b2ac-5c07b2420a47",
                                "aco": "Resource",
                                "aco_foreign_key": "7121e087-2c15-482b-8178-88f0b2af524c",
                                "aro": "User",
                                "aro_foreign_key": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                                "type": 15,
                                "created": "2019-12-18T10:31:34+00:00",
                                "modified": "2019-12-18T10:31:34+00:00",
                                "group": null,
                                "user": {
                                    "id": "64e4ce28-4092-4da7-a8e6-34b6c5cac9e1",
                                    "role_id": "a58de6d3-f52c-5080-b79b-a601a647ac85",
                                    "username": "test@passbolt.com",
                                    "active": true,
                                    "deleted": false,
                                    "created": "2019-12-18T10:29:55+00:00",
                                    "modified": "2019-12-18T10:30:36+00:00"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    }
}

I can then send a delete request provided I replace the ada as the owner of the password, and set betty as the new group manager:

DELETE https://www.passbolt.test/users/64e4ce28-4092-4da7-a8e6-34b6c5cac9e1.json?api-version=v2

Form-data:

transfer[owners][0][aco_foreign_key]: 7121e087-2c15-482b-8178-88f0b2af524c
transfer[owners][0][id]: 466779cf-487e-476f-a02c-422263f5b6d5
transfer[managers][0][group_id]: f00ab1ee-141e-4030-8d62-441944f82141
transfer[managers][0][id]: e60a352a-549e-460b-94f2-b6a117692740

Response:

{
    "header": {
        "id": "06e90878-3659-486a-8f4e-8295d79eba9e",
        "status": "success",
        "servertime": 1576665292,
        "title": "app_users_delete_success",
        "action": "4a1f3ff7-02ff-5120-b08b-e13f4369df3f",
        "message": "The user was deleted successfully.",
        "url": "\/users\/64e4ce28-4092-4da7-a8e6-34b6c5cac9e1.json?api-version=v2",
        "code": 200
    },
    "body": null
}
1 Like

Hmm. Looks like this is a thing that I need. Thank you very much!
How should I send form data? For example, in Postman. As json body?

How should I send form data? For example, in Postman. As json body?

The web application sends it as form-data. You can try JSON but i’m not sure it works, as in if it doesn’t let me know we’ll look into it

Screenshot 2019-12-18 at 14.25.07

1 Like

Hi!
Happy New Year!
Sorry, just tested this method. Whatever I try - I get an error all the time.
I try to transfer this resources to the user with system admin access, but access to these resources was not shared with admin user. However, I also tried to transfer access to the user to whom these resources were shared, and also got an error.
Also tried to use x-www-form-urlencoded instead of form-data. No luck.

{
"header": {
    "id": "897e35ba-bb75-42e8-b3ac-3c0052deae47",
    "status": "error",
    "servertime": 1577911639,
    "title": "app_users_delete_error",
    "action": "4a1f3ff7-02ff-5120-b08b-e13f4369df3f",
    "message": "Not Found",
    "url": "/users/f1cee546-cae0-4154-a7a0-b76626e341c8.json?api-version=v2",
    "code": 400
},
"body": {
    "errors": {
        "resources": {
            "sole_owner": [
                {
                    "id": "a47e77a3-3be0-49f8-9aed-c2fb07100e89",
                    "name": "password-with-shared-tag",
                    "username": "test",
                    "uri": null,
                    "description": null,
                    "deleted": false,
                    "created": "2019-12-15T20:33:43+00:00",
                    "modified": "2019-12-20T20:55:43+00:00",
                    "created_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "modified_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "permissions": [
                        {
                            "id": "91692f3a-d790-4ce1-93e5-91dfcd1bc0aa",
                            "aco": "Resource",
                            "aco_foreign_key": "a47e77a3-3be0-49f8-9aed-c2fb07100e89",
                            "aro": "User",
                            "aro_foreign_key": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                            "type": 1,
                            "created": "2019-12-20T20:55:43+00:00",
                            "modified": "2019-12-20T20:55:43+00:00",
                            "group": null,
                            "user": {
                                "id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                "role_id": "6d3bfb52-76f3-478e-aa06-7caaf533f9cf",
                                "username": "user@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-08-12T07:20:44+00:00",
                                "modified": "2019-08-16T07:55:43+00:00",
                                "profile": {
                                    "id": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                    "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                    "first_name": "User",
                                    "last_name": "Example",
                                    "created": "2019-08-12T07:20:44+00:00",
                                    "modified": "2019-08-16T07:55:43+00:00",
                                    "avatar": {
                                        "id": "b1034456-03c3-416e-aeb4-88be538e8271",
                                        "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                        "foreign_key": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                        "model": "Avatar",
                                        "filename": "photo_2019-08-14_11-49-39.jpg",
                                        "filesize": 71723,
                                        "mime_type": "image/jpeg",
                                        "extension": "jpg",
                                        "hash": "d697389776b32faf2dd0bc887a841f88d3abf2db",
                                        "path": "Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.jpg",
                                        "adapter": "Local",
                                        "created": "2019-08-16T07:55:43+00:00",
                                        "modified": "2019-08-16T07:55:43+00:00",
                                        "url": {
                                            "medium": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.a99472d5.jpg",
                                            "small": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.65a0ba70.jpg"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        },
                        {
                            "id": "db201f6e-70d1-41be-937e-a5901d8819d3",
                            "aco": "Resource",
                            "aco_foreign_key": "a47e77a3-3be0-49f8-9aed-c2fb07100e89",
                            "aro": "User",
                            "aro_foreign_key": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                            "type": 15,
                            "created": "2019-12-15T20:33:43+00:00",
                            "modified": "2019-12-15T20:33:43+00:00",
                            "group": null,
                            "user": {
                                "id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                "role_id": "b23d6593-9248-404f-a1f0-75bff8781c7d",
                                "username": "owner@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-12-15T20:31:35+00:00",
                                "modified": "2020-01-01T20:13:21+00:00",
                                "profile": {
                                    "id": "90f3ee70-a7ff-40f6-b792-ad396741fbb6",
                                    "user_id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                    "first_name": "Test",
                                    "last_name": "User",
                                    "created": "2019-12-15T20:31:35+00:00",
                                    "modified": "2019-12-15T20:31:35+00:00",
                                    "avatar": {
                                        "url": {
                                            "medium": "img/avatar/user_medium.png",
                                            "small": "img/avatar/user.png"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        }
                    ]
                },
                {
                    "id": "165a7222-96c9-4f36-930b-e7b566d6acb8",
                    "name": "password-with-shared-tag-2",
                    "username": "test",
                    "uri": "test.com",
                    "description": null,
                    "deleted": false,
                    "created": "2019-12-20T20:54:45+00:00",
                    "modified": "2019-12-20T20:55:43+00:00",
                    "created_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "modified_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "permissions": [
                        {
                            "id": "2fb44e1e-1be5-4c10-96a7-224c957068bc",
                            "aco": "Resource",
                            "aco_foreign_key": "165a7222-96c9-4f36-930b-e7b566d6acb8",
                            "aro": "User",
                            "aro_foreign_key": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                            "type": 1,
                            "created": "2019-12-20T20:55:43+00:00",
                            "modified": "2019-12-20T20:55:43+00:00",
                            "group": null,
                            "user": {
                                "id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                "role_id": "6d3bfb52-76f3-478e-aa06-7caaf533f9cf",
                                "username": "user@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-08-12T07:20:44+00:00",
                                "modified": "2019-08-16T07:55:43+00:00",
                                "profile": {
                                    "id": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                    "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                    "first_name": "User",
                                    "last_name": "Example",
                                    "created": "2019-08-12T07:20:44+00:00",
                                    "modified": "2019-08-16T07:55:43+00:00",
                                    "avatar": {
                                        "id": "b1034456-03c3-416e-aeb4-88be538e8271",
                                        "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                        "foreign_key": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                        "model": "Avatar",
                                        "filename": "photo_2019-08-14_11-49-39.jpg",
                                        "filesize": 71723,
                                        "mime_type": "image/jpeg",
                                        "extension": "jpg",
                                        "hash": "d697389776b32faf2dd0bc887a841f88d3abf2db",
                                        "path": "Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.jpg",
                                        "adapter": "Local",
                                        "created": "2019-08-16T07:55:43+00:00",
                                        "modified": "2019-08-16T07:55:43+00:00",
                                        "url": {
                                            "medium": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.a99472d5.jpg",
                                            "small": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.65a0ba70.jpg"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        },
                        {
                            "id": "204f0693-b173-4f34-8e24-f5f8708cc1ec",
                            "aco": "Resource",
                            "aco_foreign_key": "165a7222-96c9-4f36-930b-e7b566d6acb8",
                            "aro": "User",
                            "aro_foreign_key": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                            "type": 15,
                            "created": "2019-12-20T20:54:45+00:00",
                            "modified": "2019-12-20T20:54:45+00:00",
                            "group": null,
                            "user": {
                                "id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                "role_id": "b23d6593-9248-404f-a1f0-75bff8781c7d",
                                "username": "owner@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-12-15T20:31:35+00:00",
                                "modified": "2020-01-01T20:13:21+00:00",
                                "profile": {
                                    "id": "90f3ee70-a7ff-40f6-b792-ad396741fbb6",
                                    "user_id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                    "first_name": "Test",
                                    "last_name": "User",
                                    "created": "2019-12-15T20:31:35+00:00",
                                    "modified": "2019-12-15T20:31:35+00:00",
                                    "avatar": {
                                        "url": {
                                            "medium": "img/avatar/user_medium.png",
                                            "small": "img/avatar/user.png"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        }
                    ]
                },
                {
                    "id": "1d336e89-0913-4d51-8055-33d2fc3fea3e",
                    "name": "password-without-tag",
                    "username": "toast",
                    "uri": "test.ua",
                    "description": null,
                    "deleted": false,
                    "created": "2019-12-20T20:56:18+00:00",
                    "modified": "2019-12-20T20:56:31+00:00",
                    "created_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "modified_by": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                    "permissions": [
                        {
                            "id": "239b7f81-849d-4a8d-be7c-9da5c2bb4977",
                            "aco": "Resource",
                            "aco_foreign_key": "1d336e89-0913-4d51-8055-33d2fc3fea3e",
                            "aro": "User",
                            "aro_foreign_key": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                            "type": 1,
                            "created": "2019-12-20T20:56:31+00:00",
                            "modified": "2019-12-20T20:56:31+00:00",
                            "group": null,
                            "user": {
                                "id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                "role_id": "6d3bfb52-76f3-478e-aa06-7caaf533f9cf",
                                "username": "user@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-08-12T07:20:44+00:00",
                                "modified": "2019-08-16T07:55:43+00:00",
                                "profile": {
                                    "id": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                    "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                    "first_name": "User",
                                    "last_name": "Example",
                                    "created": "2019-08-12T07:20:44+00:00",
                                    "modified": "2019-08-16T07:55:43+00:00",
                                    "avatar": {
                                        "id": "b1034456-03c3-416e-aeb4-88be538e8271",
                                        "user_id": "529f92cc-6420-4b0f-923d-384390f2f9ae",
                                        "foreign_key": "aa179a3c-9341-4f13-a0f6-91a3da6cfb68",
                                        "model": "Avatar",
                                        "filename": "photo_2019-08-14_11-49-39.jpg",
                                        "filesize": 71723,
                                        "mime_type": "image/jpeg",
                                        "extension": "jpg",
                                        "hash": "d697389776b32faf2dd0bc887a841f88d3abf2db",
                                        "path": "Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.jpg",
                                        "adapter": "Local",
                                        "created": "2019-08-16T07:55:43+00:00",
                                        "modified": "2019-08-16T07:55:43+00:00",
                                        "url": {
                                            "medium": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.a99472d5.jpg",
                                            "small": "img/public/Avatar/0e/87/34/b103445603c3416eaeb488be538e8271/b103445603c3416eaeb488be538e8271.65a0ba70.jpg"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        },
                        {
                            "id": "e9fbbcaa-ebe1-449c-96a6-0dd28c0658ad",
                            "aco": "Resource",
                            "aco_foreign_key": "1d336e89-0913-4d51-8055-33d2fc3fea3e",
                            "aro": "User",
                            "aro_foreign_key": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                            "type": 15,
                            "created": "2019-12-20T20:56:18+00:00",
                            "modified": "2019-12-20T20:56:18+00:00",
                            "group": null,
                            "user": {
                                "id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                "role_id": "b23d6593-9248-404f-a1f0-75bff8781c7d",
                                "username": "owner@example.com",
                                "active": true,
                                "deleted": false,
                                "created": "2019-12-15T20:31:35+00:00",
                                "modified": "2020-01-01T20:13:21+00:00",
                                "profile": {
                                    "id": "90f3ee70-a7ff-40f6-b792-ad396741fbb6",
                                    "user_id": "f1cee546-cae0-4154-a7a0-b76626e341c8",
                                    "first_name": "Test",
                                    "last_name": "User",
                                    "created": "2019-12-15T20:31:35+00:00",
                                    "modified": "2019-12-15T20:31:35+00:00",
                                    "avatar": {
                                        "url": {
                                            "medium": "img/avatar/user_medium.png",
                                            "small": "img/avatar/user.png"
                                        }
                                    }
                                },
                                "last_logged_in": ""
                            }
                        }
                    ]
                }
            ]
        }
    }
}
}

From what I can tell this is not a valid user for this operation.
You can only transfer to a user that is provided in the list of permissions.
For example

529f92cc-6420-4b0f-923d-384390f2f9ae

I tried that. Got the same error :slightly_frowning_face:
Same json reply.

Found and corrected an error: I used sole_owner.permissions.user.id instead of sole_owner.permissions.id. But this does not solve my problem. Still same error.
Here’s verbose output from curl:
curl -vvv -X DELETE 'https://passbolt.demo.com/users/7167b81e-341d-41d6-856f-a680402c1f87.json?api-version=v2' -H 'Cookie: csrfToken=e9c27efc0ff4784ec890f7804ee1c8dcd92f89615d32886918913657af9d3bb202d1d5e726f2b901e67a29b58363ceb496b370d7a97fa6667f820c7d87175385; CAKEPHP=68ffe59fedf3035e68bc3b8e544753b6' -H 'X-CSRF-Token: e9c27efc0ff4784ec890f7804ee1c8dcd92f89615d32886918913657af9d3bb202d1d5e726f2b901e67a29b58363ceb496b370d7a97fa6667f820c7d87175385' -H 'content-type: multipart/form-data;' -F 'transfer[owners][0][aco_foreign_key]=492d5179-afed-4ab7-be30-1ecbf5bb2319' -F 'transfer[owners][0][id]=1b8af214-b51b-4a53-ae91-d6974a2c924a' -F 'transfer[owners][1][aco_foreign_key]=8f24223a-64de-40bf-a8f1-38c036a80e33' -F 'transfer[owners][1][id]=956b0f32-785e-4dc2-a835-b77b3b0de050' -F 'transfer[owners][2][aco_foreign_key]=8e2161bf-3e7b-4246-b927-e0c6bef59e9c' -F 'transfer[owners][2][id]=6799bc63-6b2f-4fc9-bd60-c6760bc8c603'

*   Trying xxx.xxx.xxx.xxx...
* TCP_NODELAY set
* Connected to passbolt.demo.com (xxx.xxx.xxx.xxx) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Unknown (8):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Client hello (1):
* TLSv1.3 (OUT), TLS Unknown, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.demo.com
*  start date: Oct 10 05:29:01 2019 GMT
*  expire date: Jan  8 05:29:01 2020 GMT
*  subjectAltName: host "passbolt.demo.com" matched cert's "*.demo.com"
*  issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* Using Stream ID: 1 (easy handle 0x565029215580)
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
> DELETE /users/7167b81e-341d-41d6-856f-a680402c1f87.json?api-version=v2 HTTP/2
> Host: passbolt.demo.com
> User-Agent: curl/7.58.0
> Accept: */*
> Cookie: csrfToken=e9c27efc0ff4784ec890f7804ee1c8dcd92f89615d32886918913657af9d3bb202d1d5e726f2b901e67a29b58363ceb496b370d7a97fa6667f820c7d87175385; CAKEPHP=68ffe59fedf3035e68bc3b8e544753b6
> X-CSRF-Token: e9c27efc0ff4784ec890f7804ee1c8dcd92f89615d32886918913657af9d3bb202d1d5e726f2b901e67a29b58363ceb496b370d7a97fa6667f820c7d87175385
> Content-Length: 979
> Content-Type: multipart/form-data;; boundary=------------------------2321967572170859
> 
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
< HTTP/2 400 
< server: nginx
< date: Fri, 03 Jan 2020 22:48:21 GMT
< content-type: application/json
< x-powered-by: PHP/7.3.8
< expires: Thu, 19 Nov 1981 08:52:00 GMT
< cache-control: no-store, no-cache, must-revalidate
< pragma: no-cache
< strict-transport-security: max-age=31536000; includeSubDomains
* HTTP error before end of send, stop sending
< 

May be this will help.

Problem solved. Sorry, my mistake. There was misconfiguration in my http client. Remy, thank you very much!

1 Like