azure - 部署在 Azure 应用服务端点上的自定义身份服务器 4 通过 Azure API 管理公开
问题描述
我使用 .NET Core 3.0 创建了一个基于 Identity Server 4 的应用程序,并将其部署到在 Windows 托管环境上运行的 Azure App Service。
我还创建了 Azure API 管理服务,并尝试仅通过 API 管理公开身份服务器端点。
这是一个好的设计还是一个坏的设计?我应该直接公开 Identity Server 4 端点吗?
在 API 管理背后,我还有一些其他 API 只能由有效的最终用户访问。
解决方案
这是一个好的设计还是一个坏的设计?我应该直接公开 Identity Server 4 端点吗?
事实上,此类问题没有标准答案,但我试图在这里提供一些参考和建议。
在我看来,这取决于您涉及的功能。据我所知,Identity Server 4 是面向 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架。换句话说,它通常是用于身份验证的中间件。
APIM 也可以支持身份验证功能。此外,APIM 支持更多功能。例如组和订阅来控制 API 访问中的角色和用户。或者您可以在策略定义中定义许多策略。监控日志可以轻松捕获到 azure 存储或 azure 事件中心进行分析.
无论如何,为了支持更多功能,我建议您直接使用 APIM。
推荐阅读
- sql-server-2008 - NOT EXISTS 提高性能?
- spring-boot - spring.h2.console.settings.web-allow-others 不适合我禁用访问
- android - 使用 CountingIdlingResource 进行异步操作的仪器测试失败
- python - 在 Python 中绘制具有平滑外观的时间序列的导数
- python - 在 Python 烧瓶 API 中找不到文件
- selenium - 通过 Selenium WebDriver 和 JUnit 在 @AfterClass 注释方法中调用 driver.quit() 时出现 java.lang.NullPointerException
- node.js - 路由 express-sessions NodeJS 之间的持久会话
- java - 文本中的 JavaFx 文本字段
- qt - C1083:无法使用 cmake 和 qt 打开包含文件:“QPushButton”
- sql - 为什么参数化查询允许将用户数据移出要解释的字符串?