diff --git a/src/regps/app/adapters/verifier_service_adapter.py b/src/regps/app/adapters/verifier_service_adapter.py index f6819b9..6dc152d 100644 --- a/src/regps/app/adapters/verifier_service_adapter.py +++ b/src/regps/app/adapters/verifier_service_adapter.py @@ -66,10 +66,14 @@ def verify_cig_request(self, aid, cig, ser) -> requests.Response: logger.info(f"Verify sig response {json.dumps(res.json())}") return res - def add_root_of_trust_request(self, aid, vlei) -> requests.Response: + def add_root_of_trust_request(self, aid, vlei, oobi) -> requests.Response: logger.info("Add root of trust request") logger.info(f"Posting to {self.add_rot_url}{aid}") - res = requests.post(f"{self.add_rot_url}{aid}", headers={"Content-Type": "application/json+cesr"}, data=vlei) + data = { + "vlei": vlei, + "oobi": oobi + } + res = requests.post(f"{self.add_rot_url}{aid}", headers={"Content-Type": "application/json"}, json=data) logger.info(f"Add root of trust response {json.dumps(res.json())}") return res diff --git a/src/regps/app/api/controllers.py b/src/regps/app/api/controllers.py index d5389e7..dad9a05 100644 --- a/src/regps/app/api/controllers.py +++ b/src/regps/app/api/controllers.py @@ -29,8 +29,8 @@ def login(self, said: str, vlei: str): ) return verifier_response.json() - def add_root_of_trust(self, aid, vlei): - verifier_response = self.verifier_adapter.add_root_of_trust_request(aid, vlei) + def add_root_of_trust(self, aid, vlei, oobi): + verifier_response = self.verifier_adapter.add_root_of_trust_request(aid, vlei, oobi) if verifier_response.status_code != 202: raise VerifierServiceException( verifier_response.json(), verifier_response.status_code diff --git a/src/regps/app/api/utils/pydantic_models.py b/src/regps/app/api/utils/pydantic_models.py index 1ad889d..5a39525 100644 --- a/src/regps/app/api/utils/pydantic_models.py +++ b/src/regps/app/api/utils/pydantic_models.py @@ -53,6 +53,7 @@ class PresentRevocationRequest(BaseModel): class AddRootOfTrustRequest(BaseModel): aid: str = Field(examples=add_rot_examples["request"]["aid"]) vlei: str = Field(examples=add_rot_examples["request"]["vlei"]) + oobi: str = Field(examples=add_rot_examples["request"]["oobi"]) class LoginResponse(BaseModel): aid: str = Field(examples=login_examples["response"]["aid"]) diff --git a/src/regps/app/api/utils/swagger_examples.py b/src/regps/app/api/utils/swagger_examples.py index e300ee6..0f1b686 100644 --- a/src/regps/app/api/utils/swagger_examples.py +++ b/src/regps/app/api/utils/swagger_examples.py @@ -17,6 +17,9 @@ "vlei": [ """{\"v\":\"KERI10JSON00049d_\",\"t\":\"icp\",\"d\":\"EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2\",\"i\":\"EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2\",\"s\":\"0\",\"kt\":[\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\"],\"k\":[\"DFkI8OSUd9fnmdDM7wz9o6GT_pJIvw1K_S21AKZg4VwK\",\"DA-vW9ynSkvOWv5e7idtikLANdS6pGO2IHJy7v0rypvE\",\"DLWJrsKIHrrn1Q1jy2oEi8Bmv6aEcwuyIqgngVf2nNwu\",\"DD6JYvXBsVAmEtirgwKPQBHFwVQfX4f_CZQmBsOh_1hT\",\"DOOyxiELz2xqQCebeimJC4PW9Xv_5xgRkW7q_TC2lToN\",\"DGoS9UZrs0u2jiCMlMGAG5xpUwQQ66NyqEoxmq8OiFUT\",\"DBaAts7zYaRUNMkWIgWN5TL85cp61mHk_wlWzsIM-cc_\"],\"nt\":[\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\"],\"n\":[\"EB_KZDNru1dlUb_Nk0EpxbU1ZDSNUO790RAZ_-ehCwR6\",\"EHgOexUh8AvN7rXblsSr6MJE5Gn1HPq5Mv9KFpCpllKN\",\"ECH4pTtUI653ykKb_capPBkKF3RvBZRzyb5dPfuJCfOf\",\"ELXXiPwoaWOVOTLMOAmg4IKkjFHFs3q2hsL9tHvuuC2D\",\"EAcNrjXFeGay9qqMj96FIiDdXqdWjX17QXzdJvq58Zco\",\"ELzkbNYyJkwSa3HTua5eZwIeqiDmJBbUEgQ1a0sHtld_\",\"EPoly9Tq4IPx41U-AGDShLDdtbFVzt7EqJUHmCrDxBdb\"],\"bt\":\"4\",\"b\":[\"BNfDO63ZpGc3xiFb0-jIOUnbr_bA-ixMva5cZb3s4BHB\",\"BDwydI_FJJ-tvAtCl1tIu_VQqYTI3Q0JyHDhO1v2hZBt\",\"BGYJwPAzjyJgsipO7GY9ZsBTeoUJrdzjI2w_5N-Nl6gG\",\"BM4Ef3zlUzIAIx-VC8mXziIbtj-ZltM8Aor6TZzmTldj\",\"BLo6wQR73-eH5v90at_Wt8Ep_0xfz05qBjM3_B1UtKbC\"],\"c\":[\"EO\"],\"a\":[]}-VDC-AADAABSSuY6EuzLJ9wHdPx8a6U8eLpKKknxOMd9aOAAJllt9dY6aTuk2HAP6T6Ed_OeMzTT5a_uTDM0RL7JX4-9eyENABAtHNdlPbe3-ZhpJdyid-iyyRJ_U4L9zxPdL2hmMHZPYhbUnhisXnE7mOcxEok7OPcuM_up6djQIVP7kMC0c1IAACCmzmcKNUp7zIHhtjIJNi4bIvCF-oRHXriDvEmFfLIo-87wSGe7puCth9NK4NNJADFGBDCpepJxKbPbD4yhevkB-BAFAABa132wXmJMgmgl9meWta9eqHU77tI6RbAFwVVLuFzDLxJuodK8bJeY1O-v_39IzwL8Dn6pUZkmybxwxvjLsWkAABBnD-Me6VjFL5OE2j0NwqSpqjVY3c5qmTcIqUZLMgCwudHCGza3gNlnSdt6TqYYYf_WQ9kXWCICMJjWgEsImgIOACDYJF1oHnu5bmkc1zPlj_DNvmBP6VkNbLC5r59BgmnI3_yloxfOy9-sln9WHTBEZpmter3lVvnXbGZlwbzmdv0FADA8O3q7KBx7BuzdSkFNUuX5U2YRw6xF12OY5rl2Tkx7xrVkqyaVybhxCQ-KU03QLup735MpaPDZ2XmBedF7_PAIAEC7BtU17WA4IqHApU4Mcp0IiTjnOJ-VLCi556iQc1Yq66Yy1jIM_UO0CQ2B9q_YEiQba7MTBRayPsyBgDYqq1AB-EAB0AAAAAAAAAAAAAAAAAAAAAAA1AAG2022-11-21T17c21c26d991548p00c00{\"v\":\"KERI10JSON00037f_\",\"t\":\"rot\",\"d\":\"ECphNWm1_jZOupeKh6C7TlBi81BlERqbnMpyqpnS4CJY\",\"i\":\"EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2\",\"s\":\"1\",\"p\":\"EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2\",\"kt\":[\"1/3\",\"1/3\",\"1/3\"],\"k\":[\"DOXYF_BTBSk7_8dIOuFqsgqhNPJErgAv_HBCG76gP0c2\",\"DIgljngxRKPci2BUa00RBfLyDiroXXCli5DgRGSfizQ_\",\"DFK74xezKGTqgsuirR-7DaQsImL-92yHfXKRbgC8Yayr\"],\"nt\":[\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\"],\"n\":[\"ECo0X7hXuLqjQ_4BGmqE7GlsE0ZJnzJv3p_3YH3hb4wM\",\"EHgOexUh8AvN7rXblsSr6MJE5Gn1HPq5Mv9KFpCpllKN\",\"ECH4pTtUI653ykKb_capPBkKF3RvBZRzyb5dPfuJCfOf\",\"ELXXiPwoaWOVOTLMOAmg4IKkjFHFs3q2hsL9tHvuuC2D\",\"EAcNrjXFeGay9qqMj96FIiDdXqdWjX17QXzdJvq58Zco\",\"ENdgU_S8bGoV2QcKIk6sz61ND8D6P5wKtfAQiUHvJTZa\",\"EEjaupNCfEvbdNaHTkzHc7MT3YTHFR0TZzEXeev2CsLA\"],\"bt\":\"4\",\"br\":[],\"ba\":[],\"a\":[{\"i\":\"EINmHd5g7iV-UldkkkKyBIH052bIyxZNBn9pq-zNrYoS\",\"s\":\"0\",\"d\":\"EINmHd5g7iV-UldkkkKyBIH052bIyxZNBn9pq-zNrYoS\"}]}-VDE-AAD2AABAFC2S_PGpOQpbMNwQVOqP5jCUJ7EgFH2hr21V6uCbBAkK30idHj0K-ReRCe_o5iIP2bGhBK2MPeEt1P81ZLwk2YJ2AACAGDeP0o3Ns2ycFFonXIQwGClJimMZ6DHnGfUKJ3O9DzUV5AxVi3Q0oq03fpLyVWRXYCWa72i_o6ftwCVVNnYDN4LAAAwpoZNY1cZl_0pxlWiHm2RPD1q2XFiFBAzUGOQWeLlBTWbfFtImbZo3cxVKCP2D5Rl49zlaLRekrONYvme2oAC-BAFAAATPoqGSBJ71O5k5S6S9dr0QDLQAsCneZV_9kZ80Gtnd0cZRVUpCKiYDxcqNcDvCn3Gp_sQxDIoIBReEc5j9MwBABAz47o9pz5fufebnDBI74dqcFISCLkAzl-yk5jXO5Pb3O85Kc147_mLOt3BsCgvuNUOD1vy5xBZgaN_jJ1b6gYKACDY_3R39v9DJ2JsZmogg73Qt3x1u493Op5SxM-FYxMVGm6FPsRnkb6_oU34xbKnR7oM0w7HGRvIxIKRLNK6oyIBADAynWmM3cgGqRplmB0-RjbkfBr7wrXgyGDaOw5YXK3ln73pq8bdukB8eJBtgBqhepEKCqXoDyeGOqs-zjcyArsNAECbhugduoDndA7WyMBLFEF9WKSBpgBx_c5GZQWPAFHZp9FUdVAqiUhg1HWDRcmO1JY_7QolDtrekE-KJM53vlEG-EAB0AAAAAAAAAAAAAAAAAAAAAAB1AAG2022-11-30T14c36c45d497321p00c00{\"v\":\"KERI10JSON00037f_\",\"t\":\"rot\",\"d\":\"EHsL1ldIafZC-M9-3RgLQB3m2_2F0aYIiNBGnTVoFDH2\",\"i\":\"EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2\",\"s\":\"2\",\"p\":\"ECphNWm1_jZOupeKh6C7TlBi81BlERqbnMpyqpnS4CJY\",\"kt\":[\"1/3\",\"1/3\",\"1/3\"],\"k\":[\"DNLdWqTBKOhDO8YfE5uIaTvN-n_Jv20-5ZwK609BvG0b\",\"DL68G7IW4zT2ryLRDziYiRyvwIDyq9xssVuZ3u6w-30Y\",\"DH63RGGv_r8pQ5Di9MVblcofkBm0O8r6SUY0cqNAYqne\"],\"nt\":[\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\",\"1/3\"],\"n\":[\"EPHYDUnxDH7xcAim3aYvS9bvh7JmdBDKc__w2_McXr6I\",\"EHgOexUh8AvN7rXblsSr6MJE5Gn1HPq5Mv9KFpCpllKN\",\"ECH4pTtUI653ykKb_capPBkKF3RvBZRzyb5dPfuJCfOf\",\"ELXXiPwoaWOVOTLMOAmg4IKkjFHFs3q2hsL9tHvuuC2D\",\"EAcNrjXFeGay9qqMj96FIiDdXqdWjX17QXzdJvq58Zco\",\"EF1IPGq_uF3FmywFdIQXSO4jy0QhtzREVMlPQ8PEy_As\",\"EHGlZciB0cZ627-MJrQxyw5niNzN1nKnNMDaJO7sCEvF\"],\"bt\":\"4\",\"br\":[],\"ba\":[],\"a\":[{\"i\":\"EFcrtYzHx11TElxDmEDx355zm7nJhbmdcIluw7UMbUIL\",\"s\":\"0\",\"d\":\"EFcrtYzHx11TElxDmEDx355zm7nJhbmdcIluw7UMbUIL\"}]}-VDE-AAD2AABAFCnSVfN7auQnPztD5rJ5K5o2RTFHmuO3mSO2SgOXSdwhjb6QQPye9cRbyba_iTcEl1xyICYrQ8u4CEbp2H6UE4J2AACAGBBBXp3fJTYaaV5dk9eLAauxSyDjc5V10tMrYG8PL6oVHMsIDitkXLkcsRmtWnNimiK00xR4skDD8t-bVJgZCoLAAA8rk816sHTBZwgK_qa9E4udoebGjP1aGyXwpzOQ7DrJ1iQsiTpyZBiR8a7K0KMVW0WNhPMFgjAUNQEtYHFyNcG-BAFAABjjb4Mlb-EbUassqTr0mnzQnk0gh9XdzrD9QBiii0W5q2WYm6zH9UedaH1UI5DVQ3ujIk7vAH-HnJLu6dAJE4JABBObzQQ_tpAUJyPMsMmAGwcgT83Sn7vERNpfbOOD_G_sE4JBpasaimc_grt7KKtsOB4YQ6OBUyDpYmEmjv9T2sCACAqi7HAsRa14GvdjHzv--iusQiyDsyZuS_Zl9EIEU-BZyoD4c21QoSoDU32XEVWoLebAi-UY5BqzpnIRWWe00sNADA7dC4N2SEuCYoAS18bVQ1BFaJWAaY9TRxhuD3J7Z6reocHQq0Ipi_k1XO8gHKmkSxwksZqzsFVkp9fo103eCQKAEBDCZcyXCe6PmRIxNs1YvU6-jtOD4yi9QOjsxnGo52p6JyyggBcD-NGaNnFcrn6vGvv0OR_5oVYVO8V_4CNRpcI-EAB0AAAAAAAAAAAAAAAAAAAAAAC1AAG2022-12-01T20c08c08d474702p00c00{\"v\":\"KERI10JSON0000fc_\",\"t\":\"rpy\",\"d\":\"ELYj9ygV0qQnDYspQchE0GZNMWHZAmnqr_yMInTEvz8V\",\"dt\":\"2024-11-21T12:49:56.620074+00:00\",\"r\":\"/loc/scheme\",\"a\":{\"eid\":\"BNfDO63ZpGc3xiFb0-jIOUnbr_bA-ixMva5cZb3s4BHB\",\"scheme\":\"http\",\"url\":\"http://5.161.69.25:5623/\"}}-VAi-CABBNfDO63ZpGc3xiFb0-jIOUnbr_bA-ixMva5cZb3s4BHB0BARjBQ5TgW3azPBukm58M44PEWa6Y_MglIwWkLcYKBNOkdLLfQJqEgG_D4jlLHN0fQ8xdfhCvinVxOPeLe9eLML{\"v\":\"KERI10JSON0000fe_\",\"t\":\"rpy\",\"d\":\"EFDBYJsNPqmnFRhzQrez5tpiRtmo3SmDo5bCtYCcXihB\",\"dt\":\"2024-11-15T14:43:00.176157+00:00\",\"r\":\"/loc/scheme\",\"a\":{\"eid\":\"BDwydI_FJJ-tvAtCl1tIu_VQqYTI3Q0JyHDhO1v2hZBt\",\"scheme\":\"http\",\"url\":\"http://51.161.130.60:5623/\"}}-VAi-CABBDwydI_FJJ-tvAtCl1tIu_VQqYTI3Q0JyHDhO1v2hZBt0BDLUDVKgM6PK0DyuFM8PC0qS_r8-MJPI_or0LkAI3ryFtOsF-Cmjy4i3k0DFbzJ5Z-6PbqROVnCW97yFoMMp-gG{\"v\":\"KERI10JSON0000fe_\",\"t\":\"rpy\",\"d\":\"EOGXLDG1KjrP0mq0wly9b9N9KQHcIZJaUhfxeZIE-5xx\",\"dt\":\"2022-12-09T17:16:03.782450+00:00\",\"r\":\"/loc/scheme\",\"a\":{\"eid\":\"BGYJwPAzjyJgsipO7GY9ZsBTeoUJrdzjI2w_5N-Nl6gG\",\"scheme\":\"http\",\"url\":\"http://102.37.159.99:5623/\"}}-VAi-CABBGYJwPAzjyJgsipO7GY9ZsBTeoUJrdzjI2w_5N-Nl6gG0BBShIN3uoICsFicMnca0hkAl7QRuL_SydEGZYyZ8oUpXPNJEg-v2xKwS6fvvohWudXwab4YPkPdksA3R_IvTAgO{\"v\":\"KERI10JSON0000ff_\",\"t\":\"rpy\",\"d\":\"EPmArqGc3R21HybhmlNHnhEwipW3nlj0KVlcoddCGanU\",\"dt\":\"2024-11-15T14:43:00.168725+00:00\",\"r\":\"/loc/scheme\",\"a\":{\"eid\":\"BM4Ef3zlUzIAIx-VC8mXziIbtj-ZltM8Aor6TZzmTldj\",\"scheme\":\"http\",\"url\":\"http://13.244.119.106:5623/\"}}-VAi-CABBM4Ef3zlUzIAIx-VC8mXziIbtj-ZltM8Aor6TZzmTldj0BAF6ZP7Vwv6nilJ7efntNIhLUwHrnh9iXFwRgwWiRP_KlstSEOiJxYbhuni1WsSXona2e71TbFSW5-9ayKXTxAA{\"v\":\"KERI10JSON0000fd_\",\"t\":\"rpy\",\"d\":\"EN6r4pW52H9dWh4r3G6VWAZiRqkNy3OFokDkiH9rf-eW\",\"dt\":\"2024-11-15T14:42:59.957505+00:00\",\"r\":\"/loc/scheme\",\"a\":{\"eid\":\"BLo6wQR73-eH5v90at_Wt8Ep_0xfz05qBjM3_B1UtKbC\",\"scheme\":\"http\",\"url\":\"http://8.208.27.153:5623/\"}}-VAi-CABBLo6wQR73-eH5v90at_Wt8Ep_0xfz05qBjM3_B1UtKbC0BBxRFXBZO8vZE8X9zcHCWffPOhs1EI35yp71KiQ9qmDjRmMGPqj8hwvhNdE5C-bBvnY1FyG8sriAfv8FsXXLXcJ""" ], + "oobi": [ + "http://localhost:3902/oobi/EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2/controller" + ] }, "response": { "msg": ["Successfully added new Root Of Trust with AID: EDP1vHcw_wc4M__Fj53-cJaBnZZASd-aMTaSyWEQ-PC2"] diff --git a/src/regps/app/fastapi_app.py b/src/regps/app/fastapi_app.py index 5771a4e..19f864b 100644 --- a/src/regps/app/fastapi_app.py +++ b/src/regps/app/fastapi_app.py @@ -133,7 +133,7 @@ async def add_root_of_trust( """ try: logger.info(f"AddRootOfTrust: sending add root of trust request {str(data)[:50]}...") - resp = api_controller.add_root_of_trust(data.aid, data.vlei) + resp = api_controller.add_root_of_trust(data.aid, data.vlei, data.oobi) return JSONResponse(status_code=202, content=resp) except VerifierServiceException as e: logger.error(f"AddRootOfTrust: Exception: {e}")