Researching on a UWP application for a client

Yesterday I started researching on a UWP application for a client of mine. This desktop app is supposed to save timesheets of current employees, and it lets them sign in and sign out of the workplace. The main purpose of this application is to save some paper.

The first potential roadblock I wanted to address is user authentication.

I searched for UWP authentication online and got this. I told the client about the options, and explained that for most of those options, the employees can login to the windows 10 computer when they sign in for work, and log out when they are about to finish. The main issue with that approach though, is there is only one computer to sign into. They would rather use paper instead of being hassled by the windows login screen.

Potential solutions

The first solution that came to my mind was using something like .net identity, to perform the authentication over the web. Or use other online identity providers – it is supported by UWP anyways according to the docs – I explained to the client that it is possible to sign in users from the UWP app itself using this method. The issue with this approach though is that it won’t work if there is no internet connection, and that it could cost extra. So it is a no-go.

While walking to school this morning, I remembered that when I first learned making web apps or Web APIs in ASP.NET MVC, I was running the server locally on the desktop machine. What if I do the same thing for this UWP project? This could solve the user authentication issue. I did a quick search online and found sources about ASP.NET Core. Now I have to research connecting a UWP app to a .NET Core Identity API, and update the client of my findings.