Identity management UI for a given IdP that will help users establish good passwords, recovery options and 2-Step Verification.
Install Docker, Docker Compose and Make
Project is managed with vitejs.
This app is setup to run against HTTPS for WebAuthn testing. In order to facilitate this traefik must be configured. Some values are located in the .env.local
and some are located in the docker-compose.yml
under the proxy
service. See traefik docs for more information.
- Copy
.env.dist
to.env.local
- Edit
.env.local
:- replace 'example.org' with a domain you have DNS edit permissions
- add a token to CLOUDFLARE_DNS_API_TOKEN
- add your email to LETS_ENCRYPT_EMAIL
i18n support is built-in however the translation files must be generated and dropped into the src/locales
folder with the appropriate name, e.g., en.json
, fr.json
, ko.json
before the app is built.
- Run
make
from the project root. - The app will be running on the domain configured for traefik, e.g., https://profile.gtis.guru.
An IdP infrastructure will be running locally and is required for authentication into the app's protected pages.
- Username: a
- Password: a
- Enter app with a special "invitation" link, e.g., https://profile.gtis.guru/#/profile/intro?invite=2b2d424e-8cb0-49c7-8c0b-7f6603INVITE
- if needed, this user's username is b
See notes in Environment section regarding HTTPS and traefik configuration.
- Image (
silintl/idp-profile-ui
) is located on Docker Hub VITE_API_BASE_URL
must be populated as an environment variable so the UI knows how to communicate to the API.
- When the
make
is run, the project will be in development mode and any updates made to the code will automatically be reloaded.
Use make depsupdate
if you want to update the npm dependencies. This command
both does the npm update as well as updates our "installed-versions.json" file
with what versions of our root-level dependencies are installed (to provide more
human-readable diffs after updating npm dependencies).
- Within
docker-compose.yml
change theui:
container'scommand: npm run serve
tocommand: npm run serve:prod
- Run
make dist
- Run
make
Copy .env.dist
to env.local
and update the relevant values, e.g., a UI deployment would only require the UI-related variables be present and populated.
The following files can/should be replaced before running the build.
./favicon.ico
src/assets/logo.png
make dist
can be used in a docker environment, otherwise the following steps can be used in a node environment:
npm install
will install dependenciesnpm run build
will produce the production-ready app in the project root'sdist
folder.- The contents of
dist
can then be deployed.