This project was generated with Angular CLI version 16.0.0.
A live demo is hosted by HL7 FHIR Foundry, where you may also download curated configurations to run yourself.
- Install Node.js (tested on Node.js 18+)
- Clone the repository
git clone https://github.com/HL7-FAST/identity-matching-ui/
- Install node-modules:
npm ci
- Run the application
npm start
- The application is now running on http://localhost:4200
- Install Docker
- Clone the repository
git clone https://github.com/HL7-FAST/identity-matching-ui/
- Use Docker Compose or build and run the Docker image
- Build and run:
or detached:
docker compose up
docker compose up -d
- Build the identity-matching-ui image:
docker build -t identity-matching-ui .
- Run identity-matching-ui in Docker:
or detached:
docker run -p 80:80 identity-matching-ui
docker run -dp 80:80 identity-matching-ui
- The application is now running on http://localhost
You will need to configure your identity provider or remove the security from the project
import { AuthConfig } from 'angular-oauth2-oidc';
export const authCodeFlowConfig: AuthConfig = {
// Url of the Identity Provider
issuer: '',
// URL of the SPA to redirect the user to after login
redirectUri: window.location.origin + '/',
loginUrl: window.location.origin + '/',
// The SPA's id. The SPA is registerd with this id at the auth-server
// clientId: 'server.code',
clientId: '',
// Just needed if your auth server demands a secret. In general, this
// is a sign that the auth server is not configured with SPAs in mind
// and it might not enforce further best practices vital for security
// such applications.
// dummyClientSecret: 'secret',
dummyClientSecret: '',
responseType: 'code',
// set the scope for the permissions the client should request
// The first four are defined by OIDC.
// Important: Request offline_access to get a refresh token
// The api scope is a usecase specific one
scope: 'openid profile email',
showDebugInformation: true,
};
To disable security you can remove this section from app.module.ts
OAuthModule.forRoot({
resourceServer: {
allowedUrls: [`${environment.baseApiUrl}`],
sendAccessToken: true
}
})
You will probably also want to remove the AuthBypassInterceptor
from interceptor.barrel.ts
. This interceptor is related to the auth-bypass
component which allows requests to ignore the sceurity settings of the FAST Identity Matching FHIR server. If you are using this against your own fhir server that does not have security enabled this will be uncessary and can be removed as well. The component can be found in the app.module
imports as well as app.component
.
<span class="toolbar-divider">
<app-auth-bypass></app-auth-bypass>
</span>
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.