diff --git a/README.md b/README.md index fbc07d1..418e471 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,13 @@ $ npm run start # Open in browser: http://localhost:4200 ``` +``` +# using nvm (recommended) +nvm install 20.11.1 +nvm use 20.11.1 +node -v +``` + ## Docker Deployment ``` diff --git a/package-lock.json b/package-lock.json index 4c95864..056dae1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "@ngneat/transloco": "^6.0.4", "ag-grid-angular": "^32.0.2", "ag-grid-community": "^32.0.2", + "angular-auth-oidc-client": "^17.1.0", "bootstrap": "^5.3.3", "ng": "^0.0.0", "rxjs": "~7.8.1", @@ -8214,6 +8215,21 @@ "ajv": "^8.8.2" } }, + "node_modules/angular-auth-oidc-client": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/angular-auth-oidc-client/-/angular-auth-oidc-client-17.1.0.tgz", + "integrity": "sha512-OxpRhvsggaZxHFkAbwA0zZyL/q3WeJUNlcpFpjrO2xix/lq5i0uCVhZndfRO0ebdq/omUo/4+WioLCt91WL0Yw==", + "dependencies": { + "rfc4648": "^1.5.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=15.0.0", + "@angular/core": ">=15.0.0", + "@angular/router": ">=15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -22225,6 +22241,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfc4648": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.4.tgz", + "integrity": "sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg==", + "license": "MIT" + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", diff --git a/package.json b/package.json index 1014fa9..db7e392 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "@ngneat/transloco": "^6.0.4", "ag-grid-angular": "^32.0.2", "ag-grid-community": "^32.0.2", + "angular-auth-oidc-client": "^17.1.0", "bootstrap": "^5.3.3", "ng": "^0.0.0", "rxjs": "~7.8.1", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 846f7dc..77f2741 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,6 +13,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { MainNavigationComponent } from './main-navigation/main-navigation.component'; import { DropdownNavButtonComponent } from './dropdown-nav-button/dropdown-nav-button.component'; import { AgGridModule } from 'ag-grid-angular'; +import { AuthConfigModule } from './auth/auth-config.module'; @NgModule({ imports: [ @@ -24,6 +25,7 @@ import { AgGridModule } from 'ag-grid-angular'; TranslocoRootModule, RouterModule.forRoot([{ path: '', component: ScoutingCryptoComponent }]), ScoutingCryptoComponent, + AuthConfigModule, // AgGridModule.withComponents([]), ], declarations: [HomeComponent, AppComponent, MainNavigationComponent, DropdownNavButtonComponent], diff --git a/src/app/auth/auth-config.module.ts b/src/app/auth/auth-config.module.ts new file mode 100644 index 0000000..c2c2dc6 --- /dev/null +++ b/src/app/auth/auth-config.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { AuthModule } from 'angular-auth-oidc-client'; + +@NgModule({ + imports: [ + AuthModule.forRoot({ + config: { + authority: 'https://cognito-idp.us-east-1.amazonaws.com/us-east-1_QE7arOHYL', + redirectUrl: window.location.origin, + postLogoutRedirectUri: window.location.origin, + clientId: 'please-enter-clientId', + scope: 'please-enter-scopes', // 'openid profile offline_access ' + your scopes + responseType: 'code', + silentRenew: true, + useRefreshToken: true, + renewTimeBeforeTokenExpiresInSeconds: 30, + }, + }), + ], + exports: [AuthModule], +}) +export class AuthConfigModule {}