I'm designing a REST web service which will allow clients to authenticate with username/password and Windows authentication. The choice is .NET Core 2.x so we can deploy on Windows (Server 2008R2 to 2016) and Linux.
Flow:
- client will authenticate to the web API auth service using either credentials or Windows auth
- web API auth service validates Windows credentials using Active Directory and standard credentials looking up an internal DB
- web API auth service generate token and refresh token (OAuth2) so the client can use the tokens for any GET/POST request
From my understanding the big nodes are Windows authentication and OAuth2: - Windows auth seems to be supported out of the box for the web API, but this is not what I want: REST requests should be handled using tokens, only a login request should be validateding effective credentials
- even if Windows AD says it's a genuine user, I store the username (DOMAIN\user) in the DB. any cons/suggestion?
- OAuth2 doesn't seem to be supported out of the box. Options?
thanks!