Taming ADFS in an Angular Environment
We recently completed an assignment to build a production system for automotive dealer repair order (RO) processing. The client needed a way to reduce the labor costs associated with scanning and extracting declined services from repair orders that are written by automotive repair technicians. The extracted declined services are subsequently used to send reminders to automotive vehicle owners that these services are due and needed.
The current state was that ROs were being manually scanned at a rate of about 60 ROs per hour and entered into a somewhat antiquated processing system that identifies the declined services and the client needed to triple that rate in order to accommodate projected growth without dramatically increasing its workforce.
The client's work environment consists of an Active Directory-based authentication system and the requirements were to have Active Directory Groups for defining authorization levels for access to various features. Three access levels were required: Operator, Auditor, and Administrator - each would have hierarchical access to the system features.
One of the toughest parts of the project was getting ADFS to play nice with Angular. Our normal architecture for an application like this is to construct the back-end .NET services on a separate domain than the front-end Angular application. But with ADFS in the mix, the CORS standard for browsers gave us fits. While we finally found a solution that required merging the two applications onto a single domain, it came at the price of exhaustive research, trial, and a few errors.
The final product is now in production and meeting it's objectives, but let us know if you need the technical details.