好的,我有这种情况。
我有一个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上,我不会拥有该信息。
想法吗?答案 0 :(得分:1)
处理此类方案的最佳方法是使用HMAC Authentication作为discussed here。这样可以更轻松地访问piblic端点,而无需从移动客户端进行某种登录,同时使您能够知道哪个移动设备正在加入您的端点。这与外部身份验证服务中实施的工作流程相同,例如使用google和facebook登录,您将获得 apikey
和 {{1} } 强>
YOU CAN FIND THE SOURCE CODE OF THE EXAMPLE USING ASP.NET HERE