【问题标题】:Open Azure App Service Endpoint to Only a Few Applications仅向少数应用程序打开 Azure 应用服务终结点
【发布时间】:2019-09-27 16:27:25
【问题描述】:

我已将 ASP.NET Web API 应用程序实现为 Azure 应用程序服务。它有一个应用程序注册,一切都按预期工作。我可以从浏览器访问 API 并查看它返回的所有 JSON。现在我想要做的是确保除了一个或多个来自集合列表的应用程序之外,没有任何东西可以从这个端点获得任何东西。需要访问的应用程序都将是我的组织/租户中的自定义应用程序。有了所有的灵活性和选项,我很难确定我需要做什么才能以这种方式锁定 API。

我设想有一些 API 知道的客户端机密,并让授权的应用程序提供它们。其他方法当然可以接受。

我确定这一定是一个重复的问题,但由于那里有大量信息,以及在 Azure 上运行应用程序的无数技术,我似乎无法为我的简单案例找到正确的解决方案。

【问题讨论】:

    标签: azure authentication azure-active-directory azure-web-app-service


    【解决方案1】:

    听起来您已经在 API 上实现了基于浏览器重定向的交互式身份验证。

    相反,您应该在 API 上实现 JWT 身份验证。 然后在 Azure AD 中,您可以定义可以授予客户端应用程序的权限。 通过这种方式,您可以控制哪个应用程序可以做什么。

    https://joonasw.net/view/azure-ad-authentication-aspnet-core-api-part-1

    https://joonasw.net/view/azure-ad-authentication-aspnet-core-api-part-2

    https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-protected-web-api-overview

    https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent

    【讨论】:

    • 谢谢。我将在接下来的几天内对其进行审查,如果我还有任何问题,请告诉您。我也喜欢你的博客有一段时间了。继续加油!
    • 遵循前两个链接有点困难,大概是因为自编写以来对 App Registrations 进行了更改,并且可能是 API 项目端 appsettings.json 中所需的值。跨度>
    • 是的,注册门户已更新 :) 相同的内容仍然适用,即使位置可能略有不同。有什么具体的你找不到吗?
    • 我认为我的问题是有太多的流程和授权类型,我不太确定哪个做了什么。现在我很确定我真正想要的是一种同时支持客户端凭据(供其他服务器端应用程序调用此 API)和 JWT 隐式流(代表用户从 React 和其他 JS 应用程序访问 API)的方法。我可能只需要写一个新问题,但是您是否碰巧有一个很好的资源来通过客户端凭据/秘密进行身份验证?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2013-05-12
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多