我已经使用.NET Core 3.0创建了基于Identity Server 4的应用程序,并将其部署到在Windows托管环境中运行的Azure App Service中。
我还创建了Azure API管理服务,并试图仅通过API管理公开Identity Server终结点。
这是好设计还是坏设计?我应该直接公开Identity Server 4端点吗?
在API管理之后,我还有其他一些API,仅应由有效的最终用户访问。
答案 0 :(得分:0)
这是好设计还是坏设计?我是否应该公开Identity Server 直接有4个端点?
实际上,对于这个问题没有标准答案,但是我试图在此处提供一些参考和建议。
我认为,这取决于您所涉及的功能。据我所知,Identity Server 4是一个用于ASP.NET Core的OpenID Connect和OAuth 2.0框架。换句话说,它通常是身份验证的中间件。
APIM也可以支持身份验证功能。另外,APIM支持更多功能。例如Groups和Subscriptions来控制API访问中的角色和用户。或者您可以在Policy定义中定义许多策略。监视器日志可以可以轻松地捕获到Azure存储或Azure事件中心进行分析。
无论如何,为了支持更多功能,我建议您直接使用APIM。