【问题标题】:Windows and Token Auth for same WEB API相同 WEB API 的 Windows 和 Token Auth
【发布时间】:2017-08-25 23:42:56
【问题描述】:

好的,我有这个场景。

我有一个 WEB API,它将为 Intranet 应用程序提供功能,我的想法是这个应用程序对外界不可见,因此它不会有登录页面。

但是,网络 API 也将被组织外部的移动应用程序使用,因此网络 API 将通过公共 url 公开。

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

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

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

请出主意?

【问题讨论】:

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


    【解决方案1】:

    处理这种情况的最佳方法是将HMAC Authentication 用作discussed here。这将允许更轻松地访问 piblic 端点​​,而无需从移动客户端进行某种登录,同时使您能够知道哪个移动设备正在访问您的端点。这与在外部身份验证服务(如 使用 google 和 facebook 登录)中实现的工作流程相同,其中为您提供 apikeyapisecret >

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

    【讨论】:

    • 听起来是个不错的选择,我猜我只需要自定义hmac授权属性
    • HMAC 身份验证哈希可以以您认为合适的任何方式传递,它只需要到达服务器并知道如何检索它...最好在请求的标头中发送
    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 2019-05-28
    • 2020-08-22
    • 2016-10-21
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多