UNPKG

frodo-lib

Version:

A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.

251 lines (229 loc) 17.9 kB
import { // default instance frodo, // default state state, } from '@rockcarver/frodo-lib'; const host0 = 'https://openam-matrix.id.forgerock.io/am', said0 = 'ecbfd81b-dadc-4b80-977e-260637fa2562', jwk0 = '{"alg":"RS256","d":"NgdJ3qp8h3YvkWoWNGgu7bWvdh7WAi-22WIeOiSX83bPKzTmvy1tRX3UXjH8LCQqTpssL8TC3y3MvEd6ddZ-6Hic-xbmJ6wbw2TMan9nr1FNaV0TFIJzIdiQ_ze0jZDe2nVxlIeY9unjinCUT-BeBcdZgAfNNAiKP01MKiynYA2v8T42AO1ha5s8dphKf9SiZ5OAf15zTwc9JP35Wd_GWa-H8bD-ZAb8dnJZuCItOjepgken_WV5YttxMw_fuSUCOkVES0EA2mmdlPLj208Voo5o8UJAk9KKzSC96Ai5n_X059gjdm_TIj4O8poVRRt3bULKlhGdHbBHChS9lgrCsk-bBLfTrQrF6j8-F3Z5pZGQ2Bm3VSf84bAmNP26XJq1TCKBfxDU7JwB-b13GdIHqekYWeTq-y4i04DvnzrPXY2op16AqqpJTQGrkNi2kU_tZ6zR_2dW6HWXMLblh2czyfst2HyS-G85yupJTa1JkZKIWB4FtQYJhwHVoFqtqXP2lx1hmJxRJicfJb1msw886RLunxFqr6RbFbmcHfDV4bYa0MroXuLjSpf8fmhDxyYDoElDTlBXE8jR9vVL1UbtClrSXo67dBItgCmSGAaKVdixUSCehog8f88mOlexj3vXhib5PVrOP7t90YAoe4o6KLkkVetZQM4erPWczaqmL28","dp":"O9LWvohCfm_HjnEVsEv8Fxd7NPWEDs6rXQahSfJ9UqiM_0W6fX_YIsAFEJGJnwdP3bgiVPBu9Qj6nOrIWxxO_EBN7XNsMB1ugsbJY3qL00jKJQM6kCUjEnEeYPxuOHI2yZ9_GLlcOw0msJpYZlVMOCI5HTgqoqLZV_JUvuu2LMSpYkjTZ4_NyKilcitZz63kelrOHpWnjXYD2JDyhz6BrohnSe_Dzzw12-bmtdT6VbzvaDX3EpFgv1qmxu1sq3bL6dtZPrR2N-L-Fft1KoZYgbYls8JmmnQjoa1ObHWlqPrLdxiAC0WvH_WFwgmQ-wO_nZ6j-ZQKXdZEpAYeELc_xw","dq":"Qzpq5mkvMRWoAIq4HASh9nEl8MtM7KMh4bqdosEad5jz-_q9UM1F5Nq0pXCg4A-O-Xi0tgKUHrxftiHqnCJAzARSpHonBxMQA_5R1Q-WHQ4OPhfoq7bPUxC8WOo9_UoIJiP56TjCRSJFTidtYBF5hkPNlc2-A9Jr_TLF0bHKW_-EhHbfoPJtEXVcW_EX-rZCXrTGg-KD9VCTYCtJbM5AunmZELzruR_lHZ3r5nUPzKeI60H0Mco1AHoHBiQUy2ZqjdTi_HFSkdGFhQOaYdkzou8rXpOOezZBrV1pfOM_hJLMpD3KMl6kqR-SDTOrPocrSRW7AHJScMlxNMYoZL_C7w","e":"AQAB","kid":"is9irY6yDLb_6BryTV10KsDAXmlOuOrmT-9KGHLBfkc","kty":"RSA","n":"w59X8v5FLIaoih4_PdGO7FQOSC1flmcMWwLqQijcd0RFeM48fefdIr6M0yKxCG1Vbdmyd0FUZibvZ2zy6jYxgDy5MAWPz0Qc7hhzdKE8VplWXG7cce5xcn4SHUz1EGQVZ0VsN3yLoSOcsNIYNJ9dYgZsy5iv051lrkJ62uDisrcOXIqfHROvbPnbEc9ZOXV4WuIb-TmCTS__YYbIc0FS5J_ByXZ1P3WEI7WGImi4xeevEkvwX1ijyJkzVw9SONoi_o6rxvbmfAAkL7ncYD54T8TCzfTzqTuZ90Rj5AFaWYj37a9jRceiD7ridP5SfHT45z7NDAR8bCi27xawKlJPYTwFVWYBTWhY9mCmKrrH70r-8VA4-I1Ni_Zk4e2Oz-ynzkf-mQQk7Uzaw0eI8NMqLxo7iD2ElMPusgV1KE7nJaoBC0jMUpT3dDAZdiO11i3zTIUwlhQlIi4uQ4GneFhmDi-5M91me3WknwK1uyK2LsgQKvxzfV6HIaPxuAbu47ZIRuPH0P6lDHuQMFy0U2ECV9vvZI6DLHGjo37jgI7XKlR5T3MLJJRGHtMePcD40My5WUZQmEKJyNbBplqd6RAsP0Rw60SJSF_Ly9ux0XSNKRurMRKlW5ZCFpjhm0kPSS0m2SstI-TN8oIZT1AXA0M7QTcVZ9t-LReuR8Yw0k-2CD0","p":"9fqcz9D9O4sbMfoPN1NhTNibSX3jYlKOtxkTnrrHyb49Yhj8ypoNsZdwOrKKKvZ1Oz_5A7jxhTHdTlphhaf8aUk53VyOGjSw3qEpO8NHAQWQZ0N_oOmlcKP3XFlaGf56WhNyFiPEhAuoAzqXZ3IPR_o87WfVYumwzHyEjrICGH2iJ0HMQcYrRsGzPYsbJNsT52H3D2Yq7vv1Hqxzc4NQwarv1PDRbCP-pxTG6gHVaseH8dLrsOv17OCib8HeYc3pPFSIKwHco4XWezbmUVu-BXiom_0EuDv5WQKm1yATgibHah2zECMdwXfL03eoDtovmGi-rrbfUDxuFqBbVmobww","q":"y5eMRV5bwIKDyCZt-YzIDD6nLCBitCmTG9coS5k9mp193S7M82KPFwPo3QkZvLIjqn5K9aQQPtf2eLPpBySxqDcoDU4-4D032-yfEwzfWLv8Bu8OuR-6Fjdg19ieaeuxsQE4Et0uGQ-hv5X0qVYHx9mHbhymDlGY0cqjRl5UCJYxL7lzWKl3156YNmKV1C_NtntlIyhG-XDlZ4zxRgOvbT-T3A_nd2O8iwH4RJ8z_KHwfTyAOka_yUoU5IiLxSCpEZVtQp1wBqxAef9--2rHIz_SvNr_kkd71mWl9UqQxByMAFwn_Dl6uix-EC3nQVayCRLGNyoQYo-n99qV6bEL_w","qi":"3KP4T8V_u4xmJ2ERNkw2Y-ll1lmZjnLdZn9zDSQNc1hJcyKE9TEWBty1jOc_WFrv1xN1WpIliH5kiAQqxokClZNB6rLWME27_ygvBuxamCUk14OplrbNMwWoNTEcXv7DtWKtHDdd-P5RpX4b-yx7oUdcC2tjqQtYQqvWx6dAx6JDOhMO1rFO4FA0GWyUHtPp5cVdUT1OT9UR51QdhaJxcQWG7rAYpQJfQzyyi5YhF4MU8Xa7isMnS6KvrQX89NeVtNpz-z-7fCdPDUwFFpLaC3o1KnKEvQi33ORqR5ROiOb9bDddxU2TSXs5oc_ex2pXF6UU7fVCuneNfy3tE-amyw"}', user0 = 'thomas.anderson@metacortex.com', pass0 = 'Blu3P!ll3d', host1 = 'https://openam-matrix.id.forgerock.io/am', said1 = 'ecbfd81b-dadc-4b80-977e-260637fa2562', jwk1 = '{"alg":"RS256","d":"NgdJ3qp8h3YvkWoWNGgu7bWvdh7WAi-22WIeOiSX83bPKzTmvy1tRX3UXjH8LCQqTpssL8TC3y3MvEd6ddZ-6Hic-xbmJ6wbw2TMan9nr1FNaV0TFIJzIdiQ_ze0jZDe2nVxlIeY9unjinCUT-BeBcdZgAfNNAiKP01MKiynYA2v8T42AO1ha5s8dphKf9SiZ5OAf15zTwc9JP35Wd_GWa-H8bD-ZAb8dnJZuCItOjepgken_WV5YttxMw_fuSUCOkVES0EA2mmdlPLj208Voo5o8UJAk9KKzSC96Ai5n_X059gjdm_TIj4O8poVRRt3bULKlhGdHbBHChS9lgrCsk-bBLfTrQrF6j8-F3Z5pZGQ2Bm3VSf84bAmNP26XJq1TCKBfxDU7JwB-b13GdIHqekYWeTq-y4i04DvnzrPXY2op16AqqpJTQGrkNi2kU_tZ6zR_2dW6HWXMLblh2czyfst2HyS-G85yupJTa1JkZKIWB4FtQYJhwHVoFqtqXP2lx1hmJxRJicfJb1msw886RLunxFqr6RbFbmcHfDV4bYa0MroXuLjSpf8fmhDxyYDoElDTlBXE8jR9vVL1UbtClrSXo67dBItgCmSGAaKVdixUSCehog8f88mOlexj3vXhib5PVrOP7t90YAoe4o6KLkkVetZQM4erPWczaqmL28","dp":"O9LWvohCfm_HjnEVsEv8Fxd7NPWEDs6rXQahSfJ9UqiM_0W6fX_YIsAFEJGJnwdP3bgiVPBu9Qj6nOrIWxxO_EBN7XNsMB1ugsbJY3qL00jKJQM6kCUjEnEeYPxuOHI2yZ9_GLlcOw0msJpYZlVMOCI5HTgqoqLZV_JUvuu2LMSpYkjTZ4_NyKilcitZz63kelrOHpWnjXYD2JDyhz6BrohnSe_Dzzw12-bmtdT6VbzvaDX3EpFgv1qmxu1sq3bL6dtZPrR2N-L-Fft1KoZYgbYls8JmmnQjoa1ObHWlqPrLdxiAC0WvH_WFwgmQ-wO_nZ6j-ZQKXdZEpAYeELc_xw","dq":"Qzpq5mkvMRWoAIq4HASh9nEl8MtM7KMh4bqdosEad5jz-_q9UM1F5Nq0pXCg4A-O-Xi0tgKUHrxftiHqnCJAzARSpHonBxMQA_5R1Q-WHQ4OPhfoq7bPUxC8WOo9_UoIJiP56TjCRSJFTidtYBF5hkPNlc2-A9Jr_TLF0bHKW_-EhHbfoPJtEXVcW_EX-rZCXrTGg-KD9VCTYCtJbM5AunmZELzruR_lHZ3r5nUPzKeI60H0Mco1AHoHBiQUy2ZqjdTi_HFSkdGFhQOaYdkzou8rXpOOezZBrV1pfOM_hJLMpD3KMl6kqR-SDTOrPocrSRW7AHJScMlxNMYoZL_C7w","e":"AQAB","kid":"is9irY6yDLb_6BryTV10KsDAXmlOuOrmT-9KGHLBfkc","kty":"RSA","n":"w59X8v5FLIaoih4_PdGO7FQOSC1flmcMWwLqQijcd0RFeM48fefdIr6M0yKxCG1Vbdmyd0FUZibvZ2zy6jYxgDy5MAWPz0Qc7hhzdKE8VplWXG7cce5xcn4SHUz1EGQVZ0VsN3yLoSOcsNIYNJ9dYgZsy5iv051lrkJ62uDisrcOXIqfHROvbPnbEc9ZOXV4WuIb-TmCTS__YYbIc0FS5J_ByXZ1P3WEI7WGImi4xeevEkvwX1ijyJkzVw9SONoi_o6rxvbmfAAkL7ncYD54T8TCzfTzqTuZ90Rj5AFaWYj37a9jRceiD7ridP5SfHT45z7NDAR8bCi27xawKlJPYTwFVWYBTWhY9mCmKrrH70r-8VA4-I1Ni_Zk4e2Oz-ynzkf-mQQk7Uzaw0eI8NMqLxo7iD2ElMPusgV1KE7nJaoBC0jMUpT3dDAZdiO11i3zTIUwlhQlIi4uQ4GneFhmDi-5M91me3WknwK1uyK2LsgQKvxzfV6HIaPxuAbu47ZIRuPH0P6lDHuQMFy0U2ECV9vvZI6DLHGjo37jgI7XKlR5T3MLJJRGHtMePcD40My5WUZQmEKJyNbBplqd6RAsP0Rw60SJSF_Ly9ux0XSNKRurMRKlW5ZCFpjhm0kPSS0m2SstI-TN8oIZT1AXA0M7QTcVZ9t-LReuR8Yw0k-2CD0","p":"9fqcz9D9O4sbMfoPN1NhTNibSX3jYlKOtxkTnrrHyb49Yhj8ypoNsZdwOrKKKvZ1Oz_5A7jxhTHdTlphhaf8aUk53VyOGjSw3qEpO8NHAQWQZ0N_oOmlcKP3XFlaGf56WhNyFiPEhAuoAzqXZ3IPR_o87WfVYumwzHyEjrICGH2iJ0HMQcYrRsGzPYsbJNsT52H3D2Yq7vv1Hqxzc4NQwarv1PDRbCP-pxTG6gHVaseH8dLrsOv17OCib8HeYc3pPFSIKwHco4XWezbmUVu-BXiom_0EuDv5WQKm1yATgibHah2zECMdwXfL03eoDtovmGi-rrbfUDxuFqBbVmobww","q":"y5eMRV5bwIKDyCZt-YzIDD6nLCBitCmTG9coS5k9mp193S7M82KPFwPo3QkZvLIjqn5K9aQQPtf2eLPpBySxqDcoDU4-4D032-yfEwzfWLv8Bu8OuR-6Fjdg19ieaeuxsQE4Et0uGQ-hv5X0qVYHx9mHbhymDlGY0cqjRl5UCJYxL7lzWKl3156YNmKV1C_NtntlIyhG-XDlZ4zxRgOvbT-T3A_nd2O8iwH4RJ8z_KHwfTyAOka_yUoU5IiLxSCpEZVtQp1wBqxAef9--2rHIz_SvNr_kkd71mWl9UqQxByMAFwn_Dl6uix-EC3nQVayCRLGNyoQYo-n99qV6bEL_w","qi":"3KP4T8V_u4xmJ2ERNkw2Y-ll1lmZjnLdZn9zDSQNc1hJcyKE9TEWBty1jOc_WFrv1xN1WpIliH5kiAQqxokClZNB6rLWME27_ygvBuxamCUk14OplrbNMwWoNTEcXv7DtWKtHDdd-P5RpX4b-yx7oUdcC2tjqQtYQqvWx6dAx6JDOhMO1rFO4FA0GWyUHtPp5cVdUT1OT9UR51QdhaJxcQWG7rAYpQJfQzyyi5YhF4MU8Xa7isMnS6KvrQX89NeVtNpz-z-7fCdPDUwFFpLaC3o1KnKEvQi33ORqR5ROiOb9bDddxU2TSXs5oc_ex2pXF6UU7fVCuneNfy3tE-amyw"}', user1 = 'thomas.anderson@metacortex.com', pass1 = 'Blu3P!ll3d', host2 = 'https://openam-matrix.id.forgerock.io/am', said2 = 'ecbfd81b-dadc-4b80-977e-260637fa2562', jwk2 = '{"alg":"RS256","d":"NgdJ3qp8h3YvkWoWNGgu7bWvdh7WAi-22WIeOiSX83bPKzTmvy1tRX3UXjH8LCQqTpssL8TC3y3MvEd6ddZ-6Hic-xbmJ6wbw2TMan9nr1FNaV0TFIJzIdiQ_ze0jZDe2nVxlIeY9unjinCUT-BeBcdZgAfNNAiKP01MKiynYA2v8T42AO1ha5s8dphKf9SiZ5OAf15zTwc9JP35Wd_GWa-H8bD-ZAb8dnJZuCItOjepgken_WV5YttxMw_fuSUCOkVES0EA2mmdlPLj208Voo5o8UJAk9KKzSC96Ai5n_X059gjdm_TIj4O8poVRRt3bULKlhGdHbBHChS9lgrCsk-bBLfTrQrF6j8-F3Z5pZGQ2Bm3VSf84bAmNP26XJq1TCKBfxDU7JwB-b13GdIHqekYWeTq-y4i04DvnzrPXY2op16AqqpJTQGrkNi2kU_tZ6zR_2dW6HWXMLblh2czyfst2HyS-G85yupJTa1JkZKIWB4FtQYJhwHVoFqtqXP2lx1hmJxRJicfJb1msw886RLunxFqr6RbFbmcHfDV4bYa0MroXuLjSpf8fmhDxyYDoElDTlBXE8jR9vVL1UbtClrSXo67dBItgCmSGAaKVdixUSCehog8f88mOlexj3vXhib5PVrOP7t90YAoe4o6KLkkVetZQM4erPWczaqmL28","dp":"O9LWvohCfm_HjnEVsEv8Fxd7NPWEDs6rXQahSfJ9UqiM_0W6fX_YIsAFEJGJnwdP3bgiVPBu9Qj6nOrIWxxO_EBN7XNsMB1ugsbJY3qL00jKJQM6kCUjEnEeYPxuOHI2yZ9_GLlcOw0msJpYZlVMOCI5HTgqoqLZV_JUvuu2LMSpYkjTZ4_NyKilcitZz63kelrOHpWnjXYD2JDyhz6BrohnSe_Dzzw12-bmtdT6VbzvaDX3EpFgv1qmxu1sq3bL6dtZPrR2N-L-Fft1KoZYgbYls8JmmnQjoa1ObHWlqPrLdxiAC0WvH_WFwgmQ-wO_nZ6j-ZQKXdZEpAYeELc_xw","dq":"Qzpq5mkvMRWoAIq4HASh9nEl8MtM7KMh4bqdosEad5jz-_q9UM1F5Nq0pXCg4A-O-Xi0tgKUHrxftiHqnCJAzARSpHonBxMQA_5R1Q-WHQ4OPhfoq7bPUxC8WOo9_UoIJiP56TjCRSJFTidtYBF5hkPNlc2-A9Jr_TLF0bHKW_-EhHbfoPJtEXVcW_EX-rZCXrTGg-KD9VCTYCtJbM5AunmZELzruR_lHZ3r5nUPzKeI60H0Mco1AHoHBiQUy2ZqjdTi_HFSkdGFhQOaYdkzou8rXpOOezZBrV1pfOM_hJLMpD3KMl6kqR-SDTOrPocrSRW7AHJScMlxNMYoZL_C7w","e":"AQAB","kid":"is9irY6yDLb_6BryTV10KsDAXmlOuOrmT-9KGHLBfkc","kty":"RSA","n":"w59X8v5FLIaoih4_PdGO7FQOSC1flmcMWwLqQijcd0RFeM48fefdIr6M0yKxCG1Vbdmyd0FUZibvZ2zy6jYxgDy5MAWPz0Qc7hhzdKE8VplWXG7cce5xcn4SHUz1EGQVZ0VsN3yLoSOcsNIYNJ9dYgZsy5iv051lrkJ62uDisrcOXIqfHROvbPnbEc9ZOXV4WuIb-TmCTS__YYbIc0FS5J_ByXZ1P3WEI7WGImi4xeevEkvwX1ijyJkzVw9SONoi_o6rxvbmfAAkL7ncYD54T8TCzfTzqTuZ90Rj5AFaWYj37a9jRceiD7ridP5SfHT45z7NDAR8bCi27xawKlJPYTwFVWYBTWhY9mCmKrrH70r-8VA4-I1Ni_Zk4e2Oz-ynzkf-mQQk7Uzaw0eI8NMqLxo7iD2ElMPusgV1KE7nJaoBC0jMUpT3dDAZdiO11i3zTIUwlhQlIi4uQ4GneFhmDi-5M91me3WknwK1uyK2LsgQKvxzfV6HIaPxuAbu47ZIRuPH0P6lDHuQMFy0U2ECV9vvZI6DLHGjo37jgI7XKlR5T3MLJJRGHtMePcD40My5WUZQmEKJyNbBplqd6RAsP0Rw60SJSF_Ly9ux0XSNKRurMRKlW5ZCFpjhm0kPSS0m2SstI-TN8oIZT1AXA0M7QTcVZ9t-LReuR8Yw0k-2CD0","p":"9fqcz9D9O4sbMfoPN1NhTNibSX3jYlKOtxkTnrrHyb49Yhj8ypoNsZdwOrKKKvZ1Oz_5A7jxhTHdTlphhaf8aUk53VyOGjSw3qEpO8NHAQWQZ0N_oOmlcKP3XFlaGf56WhNyFiPEhAuoAzqXZ3IPR_o87WfVYumwzHyEjrICGH2iJ0HMQcYrRsGzPYsbJNsT52H3D2Yq7vv1Hqxzc4NQwarv1PDRbCP-pxTG6gHVaseH8dLrsOv17OCib8HeYc3pPFSIKwHco4XWezbmUVu-BXiom_0EuDv5WQKm1yATgibHah2zECMdwXfL03eoDtovmGi-rrbfUDxuFqBbVmobww","q":"y5eMRV5bwIKDyCZt-YzIDD6nLCBitCmTG9coS5k9mp193S7M82KPFwPo3QkZvLIjqn5K9aQQPtf2eLPpBySxqDcoDU4-4D032-yfEwzfWLv8Bu8OuR-6Fjdg19ieaeuxsQE4Et0uGQ-hv5X0qVYHx9mHbhymDlGY0cqjRl5UCJYxL7lzWKl3156YNmKV1C_NtntlIyhG-XDlZ4zxRgOvbT-T3A_nd2O8iwH4RJ8z_KHwfTyAOka_yUoU5IiLxSCpEZVtQp1wBqxAef9--2rHIz_SvNr_kkd71mWl9UqQxByMAFwn_Dl6uix-EC3nQVayCRLGNyoQYo-n99qV6bEL_w","qi":"3KP4T8V_u4xmJ2ERNkw2Y-ll1lmZjnLdZn9zDSQNc1hJcyKE9TEWBty1jOc_WFrv1xN1WpIliH5kiAQqxokClZNB6rLWME27_ygvBuxamCUk14OplrbNMwWoNTEcXv7DtWKtHDdd-P5RpX4b-yx7oUdcC2tjqQtYQqvWx6dAx6JDOhMO1rFO4FA0GWyUHtPp5cVdUT1OT9UR51QdhaJxcQWG7rAYpQJfQzyyi5YhF4MU8Xa7isMnS6KvrQX89NeVtNpz-z-7fCdPDUwFFpLaC3o1KnKEvQi33ORqR5ROiOb9bDddxU2TSXs5oc_ex2pXF6UU7fVCuneNfy3tE-amyw"}', user2 = 'thomas.anderson@metacortex.com', pass2 = 'Blu3P!ll3d'; /** * create a new instance using factory helper function and login as service account */ async function newFactoryHelperServiceAccountLogin() { console.log( `\n********** BEGIN ********** newFactoryHelperServiceAccountLogin **********` ); const myFrodo1 = frodo.createInstanceWithServiceAccount( host1, // host base URL said1, // service account id jwk1 // service account jwk as a string ); // destructure default instance for easier use of library functions const { getTokens } = myFrodo1.login; const { getInfo } = myFrodo1.info; // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log( `newFactoryHelperServiceAccountLogin: Logged in to: ${info.host}` ); console.log( `newFactoryHelperServiceAccountLogin: Logged in as: ${info.authenticatedSubject}` ); console.log( `newFactoryHelperServiceAccountLogin: Using bearer token: \n${info.bearerToken}` ); } else { console.log('error getting tokens'); } console.log( `********** END ************ newFactoryHelperServiceAccountLogin **********\n` ); } newFactoryHelperServiceAccountLogin(); /** * create a new instance using factory helper function and login as admin user */ async function newFactoryHelperAdminLogin() { console.log( `\n********** BEGIN ********** newFactoryHelperAdminLogin **********` ); const myFrodo1 = frodo.createInstanceWithAdminAccount( host1, // host base URL user1, // admin username pass1 // admin password ); // destructure default instance for easier use of library functions const { getTokens } = myFrodo1.login; const { getInfo } = myFrodo1.info; // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log(`newFactoryHelperAdminLogin: Logged in to: ${info.host}`); console.log( `newFactoryHelperAdminLogin: Logged in as: ${info.authenticatedSubject}` ); console.log( `newFactoryHelperAdminLogin: Using bearer token: \n${info.bearerToken}` ); } else { console.log('error getting tokens'); } console.log( `********** END ************ newFactoryHelperAdminLogin **********\n` ); } newFactoryHelperAdminLogin(); /** * create a new instance using factory function and login as service account */ async function newFactoryServiceAccountLogin() { console.log( `\n********** BEGIN ********** newFactoryServiceAccountLogin **********` ); const myFrodo2 = frodo.createInstance({ host: host2, // host base URL serviceAccountId: said2, // service account id serviceAccountJwk: JSON.parse(jwk2), // service account jwk as a JwkRsa object }); // destructure default instance for easier use of library functions const { getTokens } = myFrodo2.login; const { getInfo } = myFrodo2.info; // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log(`newFactoryServiceAccountLogin: Logged in to: ${info.host}`); console.log( `newFactoryServiceAccountLogin: Logged in as: ${info.authenticatedSubject}` ); console.log( `newFactoryServiceAccountLogin: Using bearer token: \n${info.bearerToken}` ); } else { console.log('error getting tokens'); } console.log( `********** END ************ newFactoryServiceAccountLogin **********\n` ); } newFactoryServiceAccountLogin(); /** * create a new instance using factory function and login as admin user */ async function newFactoryAdminLogin() { console.log(`\n********** BEGIN ********** newFactoryAdminLogin **********`); const myFrodo2 = frodo.createInstance({ host: host2, // host base URL username: user2, // admin username password: pass2, // admin password }); // destructure default instance for easier use of library functions const { getTokens } = myFrodo2.login; const { getInfo } = myFrodo2.info; // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log(`newFactoryAdminLogin: Logged in to: ${info.host}`); console.log( `newFactoryAdminLogin: Logged in as: ${info.authenticatedSubject}` ); console.log( `newFactoryAdminLogin: Using bearer token: \n${info.bearerToken}` ); } else { console.log('error getting tokens'); } console.log(`********** END ************ newFactoryAdminLogin **********\n`); } newFactoryAdminLogin(); /** * use default instance and state and login as service account */ async function defaultServiceAccountLogin() { console.log( `\n********** BEGIN ********** defaultServiceAccountLogin **********` ); // destructure default instance for easier use of library functions const { getTokens } = frodo.login; const { getInfo } = frodo.info; // The default state instance is a singleton. It is best to reset() the state before // logging in to avoid interference. In this particular case no previous method in // this file is using the default state but it is good practice to call reset() if // you are not sure and need a clean state. state.reset(); // host base URL state.setHost(host0); // service account id state.setServiceAccountId(said0); // service account jwk as a JwkRsa object state.setServiceAccountJwk(JSON.parse(jwk0)); // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log(`defaultServiceAccountLogin: Logged in to: ${info.host}`); console.log( `defaultServiceAccountLogin: Logged in as: ${info.authenticatedSubject}` ); console.log( `defaultServiceAccountLogin: Using bearer token: \n${info.bearerToken}` ); } else { console.log('error getting tokens'); } console.log( `********** END ************ defaultServiceAccountLogin **********\n` ); } await defaultServiceAccountLogin(); /** * use default instance and state */ async function defaultAdminLogin() { console.log(`\n********** BEGIN ********** defaultAdminLogin **********`); // destructure default instance for easier use of library functions const { getTokens } = frodo.login; const { getInfo } = frodo.info; // The default state instance is a singleton. It is best to reset() the state before // logging in to avoid interference. In this particular case the previous method in // this file is populating the state with a service account login and the admin login // could possibly fail. state.reset(); // host base URL state.setHost(host0); // username of an admin user state.setUsername(user0); // password of the admin user state.setPassword(pass0); // login and obtain tokens if (await getTokens()) { // obtain and print information about the instance you are connected to const info = await getInfo(); console.log(`defaultAdminLogin: Logged in to: ${info.host}`); console.log( `defaultAdminLogin: Logged in as: ${info.authenticatedSubject}` ); console.log(`defaultAdminLogin: Using bearer token: \n${info.bearerToken}`); } else { console.log('error getting tokens'); } console.log(`********** END ************ defaultAdminLogin **********\n`); } await defaultAdminLogin();