В DABL создаваемые вами стороны сопоставляются с вашей учетной записью пользователя DABL. При первом присоединении к реестру или его создании автоматически создается группа на ваше имя, и у вас есть возможность добавить больше. Однако каждая дополнительная сторона, которую вы добавляете через консоль, по-прежнему сопоставляется с вашей конкретной учетной записью DABL.
Взаимодействие с реестром санкционировано токенами JWT сторон. Кнопка и ссылка входа в систему - это, по сути, ярлык, позволяющий пользователю войти в свою учетную запись DABL, при этом автоматически предоставляя идентификатор стороны / JWT для стороны по умолчанию этого пользователя обратно в развернутый экземпляр веб-приложения. Веб-приложение должно хранить полученный токен и использовать его при взаимодействии с API.
Если вы создаете дополнительные партии Алисы и Боба с целью демонстрации или тестирования вашего приложения с точки зрения различных сторон, Я бы добавил несколько дополнительных входов формы в компонент Login, которые позволяют напрямую вводить идентификатор стороны и JWT. Их можно скопировать со страницы настроек главной книги в консоли. Ваше приложение React будет просто читать входные данные ID / JWT, сохранять их в состоянии и использовать их при выполнении запросов API в будущем. Таким образом, вам не нужно постоянно повторно загружать / заменять файл parties.json
каждый день.
Компонент Login для DABL Chat - хороший пример приложения, которое вы можете посмотреть, которое обрабатывает как кнопку, так и этот идентификатор Подход к вводу / JWT. Вы можете развернуть его копию в новом проекте , если хотите увидеть, как это работает, или взгляните на исходный код для лучшего понимания. Поскольку вы также используете create-daml-app
в качестве шаблона, вам нужно будет внести некоторые изменения, чтобы добавить эти входные данные и подключить их к вызовам API.
Обратите внимание, что если Алиса и Боб предназначены для реального производства пользователей системы, то рекомендуется использовать кнопку «Войти с помощью DABL», чтобы они могли присоединиться к отдельным учетным записям DABL. В этом сценарии parties.json
из ваших настроек Ledger даже не будет включать их JWT, так как у вас не будет доступа к учетным данным, принадлежащим другим учетным записям.
См. Документацию DABL по аутентификации и адаптации. подробнее.