We have a .NET WebAPI that we want to allow domain users access to. We want to support building JavaScript single page applications to get and present data from the WebAPI. Those JavaScript applications should be able to run in a browser on a domain joined PC, on a tablet outside the network, on a phone, in browsers that are not IE, etc. Native clients are a potential future target, but not entirely required.
Assume we have the authorization side figured out such that the key issue here is authenticating the user against the on-premise Active Directory so we can see their identity (domain\user) in our WebAPI middleware.
If we just enable Integrated Windows Authentication in the WebAPI (and IIS), that seems fine for intranet scenarios. I see a lot of vague warnings around using it for internet/outside the domain scenarios.
Specifically I see concerns over using NTLM, that it is not secure enough, and also that NTLM can be blocked via certain web proxies. And in general a sense that this is an "old fashioned" way to do it. But not much in the way of details.
Can anyone provide me more specifics on those concerns or bring up other security concerns that would make this approach a bad idea?