diff --git a/package-lock.json b/package-lock.json
index b818d5a9..ee1a231a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2895,8 +2895,7 @@
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
- "dev": true
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
},
"batch": {
"version": "0.6.1",
@@ -3844,6 +3843,11 @@
"randomfill": "^1.0.3"
}
},
+ "crypto-js": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz",
+ "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q=="
+ },
"css-parse": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
@@ -6993,6 +6997,24 @@
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
"dev": true
},
+ "oidc-client": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/oidc-client/-/oidc-client-1.10.1.tgz",
+ "integrity": "sha512-/QB5Nl7c9GmT9ir1E+OVY3+yZZnuk7Qa9ZEAJqSvDq0bAyAU9KAgeKipTEfKjGdGLTeOLy9FRWuNpULMkfZydQ==",
+ "requires": {
+ "base64-js": "^1.3.0",
+ "core-js": "^2.6.4",
+ "crypto-js": "^3.1.9-1",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
+ }
+ }
+ },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -9777,8 +9799,7 @@
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"validate-npm-package-license": {
"version": "3.0.4",
diff --git a/package.json b/package.json
index 39c798ce..a0e72f12 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"hammerjs": "^2.0.8",
"hls.js": "^0.12.4",
"jquery": "^3.4.1",
+ "oidc-client": "^1.10.1",
"popper.js": "^1.16.1",
"zone.js": "~0.9.1"
},
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 56bd9327..162cc64b 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -28,6 +28,7 @@ import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import { MatInputModule } from "@angular/material/input";
import { MatFormFieldModule } from "@angular/material/form-field";
import {MatTabsModule} from "@angular/material/tabs";
+import {PasswordValidator} from "./misc/password-validator";
@NgModule({
declarations: [
@@ -41,7 +42,8 @@ import {MatTabsModule} from "@angular/material/tabs";
SearchComponent,
PeopleListComponent,
ShowsListComponent,
- LoginComponent
+ LoginComponent,
+ PasswordValidator
],
imports: [
BrowserModule,
diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html
index 47f52fe2..e08a8b68 100644
--- a/src/app/login/login.component.html
+++ b/src/app/login/login.component.html
@@ -19,13 +19,16 @@