Skip to content

Latest commit

 

History

History
417 lines (406 loc) · 19.7 KB

description_request_message.md

File metadata and controls

417 lines (406 loc) · 19.7 KB

Description Request Message

Before start of negotiation process, Description Request Message is sent to identify the actors and potentialy deny access if Dynamic Attribute Token (DAT) is not valid. Initially, Description Request Message is sent by consumer without payload.

Multipart form - Description Request Message
curl --location -k 'https://localhost:8184/proxy' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic aWRzVXNlcjpwYXNzd29yZA==' \
--data '{
    "multipart": "form",
    "Forward-To": "https://ecc-provider:8889/data",
    "messageType": "DescriptionRequestMessage"
}'

If DAT is invalid, Provider sends RejectionMessage with optional reason. However, if DAT is valid, SelfDescriptionResponse is being sent to Consumer with similar content:

Description Request Message - Response example
{
    "@context": {
        "ids": "https://w3id.org/idsa/core/",
        "idsc": "https://w3id.org/idsa/code/"
    },
    "@type": "ids:BaseConnector",
    "@id": "https://w3id.org/engrd/connector/provider",
    "ids:hasDefaultEndpoint": {
        "@type": "ids:ConnectorEndpoint",
        "@id": "https://188.2.57.38:8449/",
        "ids:accessURL": {
            "@id": "https://188.2.57.38:8449/"
        }
    },
    "ids:resourceCatalog": [
        {
            "@type": "ids:ResourceCatalog",
            "@id": "https://w3id.org/idsa/autogen/resourceCatalog/6b2a6a4d-82d9-45a3-9893-a8b4f3591fc8",
            "ids:offeredResource": [
                {
                    "@type": "ids:TextResource",
                    "@id": "https://w3id.org/idsa/autogen/textResource/f3ec0292-02fe-41d3-bc1f-bb19c383e994",
                    "ids:contractOffer": [
                        {
                            "@type": "ids:ContractOffer",
                            "@id": "https://w3id.org/idsa/autogen/contractOffer/a050f828-2246-490f-b2ec-e303f2fc6139",
                            "ids:contractStart": {
                                "@value": "2023-06-27T09:51:29.638Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:contractDate": {
                                "@value": "2023-06-27T09:51:30.670Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:provider": {
                                "@id": "https://w3id.org/engrd/connector/provider"
                            },
                            "ids:permission": [
                                {
                                    "@type": "ids:Permission",
                                    "@id": "https://w3id.org/idsa/autogen/permission/bf06df92-f5bd-4420-925f-89087776dc1e",
                                    "ids:action": [
                                        {
                                            "@id": "https://w3id.org/idsa/code/USE"
                                        }
                                    ],
                                    "ids:title": [
                                        {
                                            "@value": "Example Usage Policy",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:description": [
                                        {
                                            "@value": "provide-access",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:target": {
                                        "@id": "http://w3id.org/engrd/connector/artifact/big"
                                    }
                                }
                            ]
                        }
                    ],
                    "ids:representation": [
                        {
                            "@type": "ids:TextRepresentation",
                            "@id": "https://w3id.org/idsa/autogen/textRepresentation/94e3a195-a10f-4b1d-97ef-3de3046df796",
                            "ids:created": {
                                "@value": "2023-06-27T09:51:30.740Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:instance": [
                                {
                                    "@type": "ids:Artifact",
                                    "@id": "http://w3id.org/engrd/connector/artifact/big",
                                    "ids:creationDate": {
                                        "@value": "2023-06-27T09:51:28.865Z",
                                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                                    }
                                }
                            ],
                            "ids:language": {
                                "@id": "https://w3id.org/idsa/code/EN"
                            }
                        }
                    ],
                    "ids:keyword": [
                        {
                            "@value": "Engineering Ingegneria Informatica SpA",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        },
                        {
                            "@value": "TRUEConnector",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:modified": {
                        "@value": "2023-06-27T09:51:30.502Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:created": {
                        "@value": "2023-06-27T09:51:30.502Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:version": "1.0.0",
                    "ids:title": [
                        {
                            "@value": "World class literature",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:description": [
                        {
                            "@value": "Used to verify large data transfer",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:contentType": {
                        "@id": "https://w3id.org/idsa/code/SCHEMA_DEFINITION"
                    },
                    "ids:language": [
                        {
                            "@id": "https://w3id.org/idsa/code/EN"
                        },
                        {
                            "@id": "https://w3id.org/idsa/code/IT"
                        }
                    ]
                },
                {
                    "@type": "ids:DataResource",
                    "@id": "https://w3id.org/idsa/autogen/dataResource/f8163cc7-53f4-451a-9cc4-0e7f7861ac86",
                    "ids:contractOffer": [
                        {
                            "@type": "ids:ContractOffer",
                            "@id": "https://w3id.org/idsa/autogen/contractOffer/0e482510-3225-468f-9c8e-9bf4fb2105e3",
                            "ids:contractStart": {
                                "@value": "2023-06-27T09:51:29.638Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:contractDate": {
                                "@value": "2023-06-27T09:51:31.235Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:provider": {
                                "@id": "https://w3id.org/engrd/connector/provider"
                            },
                            "ids:permission": [
                                {
                                    "@type": "ids:Permission",
                                    "@id": "https://w3id.org/idsa/autogen/permission/5e51c719-d4cd-4024-a7a0-26c274ab400d",
                                    "ids:action": [
                                        {
                                            "@id": "https://w3id.org/idsa/code/USE"
                                        }
                                    ],
                                    "ids:title": [
                                        {
                                            "@value": "Example Usage Policy",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:description": [
                                        {
                                            "@value": "provide-access",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:target": {
                                        "@id": "http://w3id.org/engrd/connector/artifact/test1.csv"
                                    }
                                }
                            ]
                        }
                    ],
                    "ids:representation": [
                        {
                            "@type": "ids:TextRepresentation",
                            "@id": "https://w3id.org/idsa/autogen/textRepresentation/c376d9fd-7f26-40af-a044-9fbd2f363a92",
                            "ids:created": {
                                "@value": "2023-06-27T09:51:31.321Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:instance": [
                                {
                                    "@type": "ids:Artifact",
                                    "@id": "http://w3id.org/engrd/connector/artifact/test1.csv",
                                    "ids:creationDate": {
                                        "@value": "2023-06-27T09:51:29.089Z",
                                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                                    }
                                }
                            ],
                            "ids:language": {
                                "@id": "https://w3id.org/idsa/code/EN"
                            }
                        }
                    ],
                    "ids:keyword": [
                        {
                            "@value": "Engineering Ingegneria Informatica SpA",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        },
                        {
                            "@value": "TRUEConnector",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:modified": {
                        "@value": "2023-06-27T09:51:31.070Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:created": {
                        "@value": "2023-06-27T09:51:31.070Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:version": "1.0.0",
                    "ids:title": [
                        {
                            "@value": "CSV resource",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:description": [
                        {
                            "@value": "Used to verify wss flow",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:contentType": {
                        "@id": "https://w3id.org/idsa/code/SCHEMA_DEFINITION"
                    },
                    "ids:language": [
                        {
                            "@id": "https://w3id.org/idsa/code/EN"
                        },
                        {
                            "@id": "https://w3id.org/idsa/code/IT"
                        }
                    ]
                },
                {
                    "@type": "ids:TextResource",
                    "@id": "https://w3id.org/idsa/autogen/textResource/2751fec2-5ab8-4795-9e45-cb292b8d54ea",
                    "ids:contractOffer": [
                        {
                            "@type": "ids:ContractOffer",
                            "@id": "https://w3id.org/idsa/autogen/contractOffer/bf482e9d-a370-4489-b4ce-bd09ec6d1e1f",
                            "ids:contractStart": {
                                "@value": "2023-06-27T09:51:29.638Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:contractDate": {
                                "@value": "2023-06-27T09:51:29.620Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:provider": {
                                "@id": "https://w3id.org/engrd/connector/provider"
                            },
                            "ids:permission": [
                                {
                                    "@type": "ids:Permission",
                                    "@id": "https://w3id.org/idsa/autogen/permission/f04e78e7-3808-404d-8436-d7f7c264f307",
                                    "ids:action": [
                                        {
                                            "@id": "https://w3id.org/idsa/code/USE"
                                        }
                                    ],
                                    "ids:title": [
                                        {
                                            "@value": "Example Usage Policy",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:description": [
                                        {
                                            "@value": "provide-access",
                                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                                        }
                                    ],
                                    "ids:target": {
                                        "@id": "http://w3id.org/engrd/connector/artifact/1"
                                    }
                                }
                            ]
                        }
                    ],
                    "ids:representation": [
                        {
                            "@type": "ids:TextRepresentation",
                            "@id": "https://w3id.org/idsa/autogen/textRepresentation/9b91a10d-2cb9-4afc-a148-7bfa054b5e9a",
                            "ids:created": {
                                "@value": "2023-06-27T09:51:29.926Z",
                                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                            },
                            "ids:instance": [
                                {
                                    "@type": "ids:Artifact",
                                    "@id": "http://w3id.org/engrd/connector/artifact/1",
                                    "ids:creationDate": {
                                        "@value": "2023-06-27T09:51:25.473Z",
                                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                                    }
                                }
                            ],
                            "ids:language": {
                                "@id": "https://w3id.org/idsa/code/EN"
                            }
                        }
                    ],
                    "ids:keyword": [
                        {
                            "@value": "Engineering Ingegneria Informatica SpA",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        },
                        {
                            "@value": "TRUEConnector",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:modified": {
                        "@value": "2023-06-27T09:51:29.348Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:created": {
                        "@value": "2023-06-27T09:51:29.349Z",
                        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                    },
                    "ids:version": "1.0.0",
                    "ids:title": [
                        {
                            "@value": "Default resource",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:description": [
                        {
                            "@value": "Default resource description",
                            "@type": "http://www.w3.org/2001/XMLSchema#string"
                        }
                    ],
                    "ids:contentType": {
                        "@id": "https://w3id.org/idsa/code/SCHEMA_DEFINITION"
                    },
                    "ids:language": [
                        {
                            "@id": "https://w3id.org/idsa/code/EN"
                        },
                        {
                            "@id": "https://w3id.org/idsa/code/IT"
                        }
                    ]
                }
            ]
        }
    ],
    "ids:securityProfile": {
        "@id": "https://w3id.org/idsa/code/BASE_SECURITY_PROFILE"
    },
    "ids:curator": {
        "@id": "http://provider.curatorURI.com"
    },
    "ids:maintainer": {
        "@id": "http://provider.maintainerURI.com"
    },
    "ids:inboundModelVersion": [
        "4.2.7"
    ],
    "ids:outboundModelVersion": "4.2.7",
    "ids:title": [
        {
            "@value": "Data Provider Connector title",
            "@type": "http://www.w3.org/2001/XMLSchema#string"
        }
    ],
    "ids:description": [
        {
            "@value": "Data Provider Connector description",
            "@type": "http://www.w3.org/2001/XMLSchema#string"
        }
    ]
}

If the incoming message is assumed trustworthy, the Provider answers with an IDS SelfDescriptionResponse. During the establishment phase of the negotiation, this message contains the currently valid SelfDescription of Provider in JSON-LD, including its provided IDS Resources and respective ContractOffers. Note that the connector is not obliged to provide ContractOffers for any/all resources but can also only announce their existence. The usage conditions might be sensitive too and do not need to be supplied. However, the provisioning of ContractOffers eases their usage and therefore should be in the interest of a Data Provider.