Windows和Token Auth用于相同的WEB API

时间:2017-03-31 16:06:41

标签: c# asp.net .net asp.net-web-api xamarin

好的,我有这种情况。

我有一个WEB API,它将为内部网应用程序提供功能,这个想法是外部世界不会看到这个应用程序,因此它没有登录页面。

但是,web api也将被组织外的移动应用程序使用,因此webapi将通过公共URL公开。

如何在此处进行身份验证/授权以支持这两种方案? 1.内部用户将能够通过角度后端应用程序使用Web api,而无需显式登录页面。 2.通过移动应用程序的外部用户将使用其活动目录帐户使用web api。

我发现了这个: https://stormpath.com/blog/token-authentication-asp-net-core

我可以轻松地将GetIdentity方法替换为Active Directory,并检查用户是否存在该用户和密码,但在Intranet上,我不会拥有该信息。

想法吗?

1 个答案:

答案 0 :(得分:1)

处理此类方案的最佳方法是使用HMAC Authentication作为discussed here。这样可以更轻松地访问piblic端点,而无需从移动客户端进行某种登录,同时使您能够知道哪个移动设备正在加入您的端点。这与外部身份验证服务中实施的工作流程相同,例如使用google和facebook登录,您将获得 apikey {{1} }

YOU CAN FIND THE SOURCE CODE OF THE EXAMPLE USING ASP.NET HERE