feat(login): add login authentication and authorization (#122)
Add login basic authentication, oauth2 authentication, two factor authentication and authorization and allow to reset password on expiry. Fixes #117, #118, #119, #120
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<p><strong>Two Factor Authentication</strong></p>
|
||||
<mat-divider></mat-divider>
|
||||
<p *ngIf="!otpRequested">Please select a delivery method:</p>
|
||||
<form fxLayout="column" *ngIf="!otpRequested" [formGroup]="twoFactorAuthenticationDeliveryMethodForm" (ngSubmit)="requestOTP()">
|
||||
<mat-radio-group fxLayout="column" fxFlexAlign="center" formControlName="twoFactorAuthenticationDeliveryMethod">
|
||||
<mat-radio-button *ngFor="let twoFactorAuthenticationDeliveryMethod of twoFactorAuthenticationDeliveryMethods"
|
||||
[value]="twoFactorAuthenticationDeliveryMethod">
|
||||
Send {{ twoFactorAuthenticationDeliveryMethod.name }} to {{ twoFactorAuthenticationDeliveryMethod.target }}
|
||||
</mat-radio-button>
|
||||
</mat-radio-group>
|
||||
<button mat-raised-button color="primary" fxFlexAlign="center" fxFlexFill [disabled]="!twoFactorAuthenticationDeliveryMethodForm.valid">
|
||||
Request OTP
|
||||
<mat-spinner [diameter]="20" *ngIf="loading"></mat-spinner>
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<!-- show input for otp request -->
|
||||
<p *ngIf="otpRequested">Please enter the OTP:</p>
|
||||
<form fxLayout="column" *ngIf="otpRequested" [formGroup]="twoFactorAuthenticationForm" (ngSubmit)="validateOTP()">
|
||||
<mat-form-field fxFlexAlign="center" class="textfield">
|
||||
<span matPrefix><mat-icon>verified_user</mat-icon> </span>
|
||||
<input matInput placeholder="OTP" autocomplete="off" formControlName="otp">
|
||||
<mat-hint align="start"><strong>Delivery Method:</strong> {{ selectedTwoFactorAuthenticationDeliveryMethod.name }} </mat-hint>
|
||||
<mat-hint align="end"><strong>Validity:</strong> {{ tokenValidityTime / 60 }} mins </mat-hint>
|
||||
<mat-error *ngIf="twoFactorAuthenticationForm.controls.otp.hasError('required')">
|
||||
OTP is <strong>required</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<button mat-raised-button color="primary" fxFlexAlign="center" class="btn" [disabled]="!twoFactorAuthenticationForm.valid">
|
||||
Validate OTP
|
||||
<mat-spinner [diameter]="20" *ngIf="loading"></mat-spinner>
|
||||
</button>
|
||||
<button type="button" mat-button fxFlexAlign="center" class="btn" (click)="resendOTP()" [disabled]="loading || resendOTPLoading">
|
||||
Resend OTP
|
||||
<mat-spinner [diameter]="20" *ngIf="resendOTPLoading"></mat-spinner>
|
||||
</button>
|
||||
</form>
|
||||
Reference in New Issue
Block a user