Autologin Implementation : ps

This commit is contained in:
VE10-Sanjeev 2023-07-03 18:36:56 +05:30
parent d3f1b28d77
commit 1635c48336
14 changed files with 128 additions and 12 deletions

View File

@ -42,6 +42,7 @@ import { AwsService } from './AwsService/aws.service';
import { TokenInterceptor } from './_guard/token.interceptor';
import { NewPasswordDialog, ForgotPass } from './session/login/login.component';
import { NewPasswordDialog2,ForgotPass2 } from './session/otp/otp.component';
import { AutoLoginComponent } from './session/auto-login/auto-login.component';
import { AuthGuard } from './_guard/auth.guard';
import { RoleMenuItemsPipe } from './layouts/role-menu-items.pipe';
import { ResizableModule } from 'angular-resizable-element';
@ -76,8 +77,8 @@ export function createTranslateLoader(http: HttpClient) {
AuthLayoutComponent,
NewPasswordDialog,ForgotPass,NewPasswordDialog2,ForgotPass2,ChangePasswordDialog, RoleMenuItemsPipe,
HttpLoaderComponent,
DialogOverviewExampleDialog,OtpComponent
DialogOverviewExampleDialog,OtpComponent,
AutoLoginComponent
],
imports: [
BrowserModule,

View File

@ -4,6 +4,7 @@ import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
import { CognitoService} from './AwsService/cognito.service';
import { AuthGuard } from './_guard/auth.guard';
import { AutoLoginComponent } from './session/auto-login/auto-login.component';
// import { SalesPdComponent } from './sales-pd/sales-pd.component';
// let role = localStorage.g('user_role');
// console.log(role)
@ -76,4 +77,4 @@ export const AppRoutes: Routes = [{
}, {
path: '**',
redirectTo: 'session/404'
}];
}, { path: 'auto', component: AutoLoginComponent }];

View File

@ -727,6 +727,10 @@ export class AddPdComponent implements OnInit, OnDestroy {
submitPdDetails(formValue: any, status: string) {
// console.log('inside the submitPdDetails data');
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
let user_id = (login_type_id == 1) ? localStorage.getItem('officer_id') : this._aws.getlocale() ;
if (this._PDtriggerForm.invalid) {
// let validate = this.findInvalidControls();
// console.log('validate checking',validate);
@ -801,7 +805,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
"other_pincode": formValue.addresses[0].other_pincode,
"remarks": formValue.remarks,
"pd_status": status,
"fk_createdby": this._aws.getlocale(),
"fk_createdby": user_id,
"excel_file_id":this.excel_file_id
};

View File

@ -5,7 +5,7 @@
margin-top: -5px;
display: block;
}
:host /deep/ {
::ng-deep {
mat-sidenav {
max-width: 400px;
max-height: 500px;

View File

@ -555,8 +555,16 @@ export class PdTrigerService {
}
getSalesPd(): Observable<any> {
var lender_id= localStorage.getItem('LocalSetEntity')
let user_role_id = localStorage.getItem('LenderRoleID')
let user_id = this._aws.getlocale()
let user_role_id :any;
let user_id:any;
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
if(login_type_id == 1){
user_role_id = localStorage.getItem('user_role');
user_id = localStorage.getItem('officer_id');
}else{
user_role_id = localStorage.getItem('LenderRoleID');
user_id = this._aws.getlocale();
}
// console.log('555',value);
return this._http.get<any[]>(this.apiUrl + `listSalesPD/${lender_id}/${user_id}/${user_role_id}`)
.pipe(

View File

@ -5,7 +5,7 @@
margin-top: -5px;
display: block;
}
:host /deep/ {
:ng-deep{
mat-sidenav {
max-width: 400px;
max-height: 500px;

View File

@ -329,12 +329,14 @@ current_section:any;
// console.log("Api Stauts ",this.networkProvider.getCurrentNetworkStatus())
let det:any=localStorage.getItem('user_details')
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
let user_id = (login_type_id == 0) ? localStorage.getItem('officer_id') : det.userid ;
det=JSON.parse(det)
let params = {'fk_entity_id':det.fk_entity_id,userid:det.userid}
// if(this.networkProvider.getCurrentNetworkStatus() == ConnectionStatus.online) {
let complete_url = this.apiUrl+'listSalesPD/'+det.fk_entity_id
if(is_sales_login) {
complete_url = complete_url+'/'+det.userid+'/'+det.user_role
complete_url = complete_url+'/'+user_id+'/'+det.user_role
}
return this.http.get(complete_url).map(res=>{
// this.ionicStorageProvider.checkAndInsertApiDataLocally(res,params,'listSalesPD');

View File

@ -44,7 +44,8 @@ export class AdvanceFilterComponent implements OnInit {
ngOnInit() {
let local:any = JSON.parse(localStorage.getItem('user_details'));
let entity_id=localStorage.getItem('LocalSetEntity');
let user_id = this._aws.getlocale();
let login_type_id=parseInt(localStorage.getItem('login_type_id')); // 0 means normal 1 means auto
let user_id = ((login_type_id == 0) ? this._aws.getlocale() : localStorage.getItem('officer_id'));
// 'drop_down_datas':this.filter_drop_down_data,is_sales_login:this.is_sales_login
this.searchForm=this._fb.group({
pd_status:[''],
@ -140,8 +141,10 @@ export class AdvanceFilterComponent implements OnInit {
onReset(){
this.searchForm.reset();
let local:any = JSON.parse(localStorage.getItem('user_details'));
let login_type_id=parseInt(localStorage.getItem('login_type_id')); // 0 means normal 1 means auto
let user_id = ((login_type_id == 0) ? local.userid : localStorage.getItem('officer_id'));
this.searchForm.controls['pd_lender'].setValue(local.fk_entity_id);
this.searchForm.controls['sales_pd_officer_id'].setValue(local.userid);
this.searchForm.controls['sales_pd_officer_id'].setValue(user_id);
this.xpandStatus=false
this.resetFilter.emit(true);

View File

@ -569,6 +569,9 @@ getCityPincode(value){
// console.log("Api Stauts ",this.networkProvider.getCurrentNetworkStatus())
let det:any=localStorage.getItem('user_details')
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
let user_id = (login_type_id == 1) ? localStorage.getItem('officer_id') : det.userid ;
console.log('494',det,localStorage.getItem('user_details'))
det=JSON.parse(det)
console.log('494',det)
@ -576,7 +579,7 @@ getCityPincode(value){
// if(this.networkProvider.getCurrentNetworkStatus() == ConnectionStatus.online) {
let complete_url = api_url+'listSalesPD/'+det.fk_entity_id
if(is_sales_login) {
complete_url = complete_url+'/'+det.userid+'/'+det.user_role
complete_url = complete_url+'/'+user_id+'/'+det.user_role
}
return this._http.get(complete_url).map(res=>{
// this.ionicStorageProvider.checkAndInsertApiDataLocally(res,params,'listSalesPD');

View File

@ -0,0 +1,3 @@
<!-- <p>
auto-login works!
</p> -->

View File

@ -0,0 +1,89 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Router } from "@angular/router";
import { AwsService } from '../../AwsService/aws.service';
import { DashboardService } from 'app/dashboard/dashboard.service';
@Component({
selector: 'app-auto-login',
templateUrl: './auto-login.component.html',
styleUrls: ['./auto-login.component.scss']
})
export class AutoLoginComponent implements OnInit {
constructor(private router: Router,private route: ActivatedRoute,public aws: AwsService,private dashBoardService:DashboardService) { }
token: string;
password: string;
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
console.log(params);
this.token = params.token;
console.log('encrypted token :',this.token);
});
// old http://localhost:4200/#/auto?token=bXdpc2VzYWxlczFAc2luZS5jb20jdGVzdDEyMzQ=
// new http://localhost:4200/#/auto?token=TXdpc2VTYWxlc0B5YWhvby5jb20jc2luZTEyMzQjMjkzIzE5
// error flag redirect pannanum
const decoded= this.decodeBase64String(this.token);
if (decoded !== null) {
console.log('decrypted token :', decoded);
const splitparts = decoded.split('#');
const mailid = splitparts[0].split(/\s/).join('');
const password = splitparts[1].split(/\s/).join('');
const officer_id = splitparts[2].split(/\s/).join('');
const role_id = splitparts[3].split(/\s/).join('');
console.log("splited My UN :",mailid," PWD :",password, " OFF ID : ",officer_id," ROLE ID : ",role_id);
let auth = { 'Username': mailid, 'Password': password };
this.aws.dologin(auth).subscribe(res => {
console.log("Auto login",res);
if (res !== undefined) {
localStorage.setItem('user_role',role_id);
localStorage.setItem('user_role_nav',role_id);
localStorage.setItem('login_type','auto-login');
localStorage.setItem('login_type_id','1');
localStorage.setItem('officer_id',officer_id);
this.router.navigate(['/sales-pd-list']);
}
}, err => {
this.router.navigate(['/auto?token='+this.token]);
console.log(err.message);
})
console.log("AWS getlocale = ",this.aws.getlocale());
} else {
// Handle the decoding error
this.router.navigate(['/auto?token='+this.token]);
console.log('Error occurred while decoding the string.');
}
return ;
}
decodeBase64String(encodedString) {
try {
const decodedString = atob(encodedString);
return decodedString;
} catch (error) {
// Handle the error
console.error('Failed to decode the base64 string:', error);
// Return a default or error value, or perform any other error handling logic
return null;
}
}
getCommonSettings(){
this.dashBoardService.getCommonSettingsConfig().subscribe(res=>{
if(res['dataStatus'] == true){
localStorage.setItem("commonSettings",JSON.stringify(res['records']));
}
})
}
}

View File

@ -82,6 +82,8 @@ export class LoginComponent implements OnInit{
// local storage for validate user access
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
localStorage.setItem('user_role_nav',res.idToken.payload["custom:role_id"]);
localStorage.setItem('login_type','manual-login');
localStorage.setItem('login_type_id','0');
let role = localStorage.getItem('user_role');
console.log(res.idToken.payload ["custom:role_id"],role);
// alert(localStorage.getItem('user_role'))