feat: rewrite AuthService to use ROLAC auth API with in-memory token storage

- Replace GET /api/Token/Create (Basic Auth) with POST /api/Auth/login
- Add refresh() method using HttpOnly cookie (POST /api/Auth/refresh)
- Add initializeFromRefreshToken() for APP_INITIALIZER support
- logout() now fires POST /api/Auth/logout (fire-and-forget)
- Rename User interface to UserInfo (matches C# DTO: id, email, roles, languagePreference)
- All auth state is in-memory only (no localStorage)
- Fix downstream consumers: app.ts, header components, mfa-dialog, token-verification
- Fix tsconfig.spec.json: exclude legacy src/components and src/directives
- Add stub enums.model.ts and fix models/index.ts for pre-existing build errors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Chris Chen
2026-05-26 20:47:43 -07:00
parent 4874f2a0a3
commit 62428cd2d4
12 changed files with 199 additions and 365 deletions
+20
View File
@@ -0,0 +1,20 @@
// Placeholder enums — expand as the escrow module is built out
export enum EscrowStatus {
Open = 'Open',
Closed = 'Closed',
Cancelled = 'Cancelled'
}
export enum CbAssigneeRole {
None = 'None',
Buyer = 'Buyer',
Seller = 'Seller',
BuyerRealEstateAgent = 'BuyerRealEstateAgent',
SellerRealEstateAgent = 'SellerRealEstateAgent',
EscrowOfficer = 'EscrowOfficer',
EscrowAssignee = 'EscrowAssignee',
LoanBroker = 'LoanBroker',
Lender = 'Lender',
SellerTransactionCoordinator = 'SellerTransactionCoordinator',
BuyerTransactionCoordinator = 'BuyerTransactionCoordinator'
}
+10 -1
View File
@@ -1,2 +1,11 @@
// Export user models
export * from './user.model';
export * from './user.model';
export * from './enums.model';
/** Address info used by string utilities */
export interface AddressInfo {
address: string;
city: string;
state: string;
zip: string;
}
+2
View File
@@ -0,0 +1,2 @@
// User model placeholder — types live in auth.service.ts
export {};