使用带有 OpenId (OpenIddict) 的 Windows 身份验证的正确方法是什么?

问题描述

我使用 ASP.NET Identity 作为单独的身份验证服务器实现了 OpenIddict,并使用客户端凭据和密码流。我还有一个 web api 项目作为资源服务器。

资源服务器部署在 IIS 中,需要对域用户和最终用户进行身份验证。所有控制器都具有 [Authorize] 属性,并且操作具有继承自 ActionFilterattribute自定义身份验证过滤器,我使用它检查数据库的权限。资源服务器已集成 Windows 身份验证。

目前处于开发的这个阶段,我无法使用 ADFS 或 AAD。

用户使用 Winforms 应用程序访问资源服务器,并在其中传递网络凭据。最终用户拥有网站和原生应用,并且将/应该使用密码流来获取访问令牌。

所以,我的问题是:

我是否应该在身份验证服务器中有一个带有 [Authorize] 的端点,域用户可以使用它进行身份验证?在这种情况下,我还需要使用集成的 Windows 身份验证(我宁愿避免这种情况)。

一旦域用户通过身份验证,我是否应该使用客户端凭据流来获取访问令牌?域用户不需要保存在 ASP.NET Identity 中。最终用户将使用密码流程。

这是处理 Windows 身份验证和 OpenId 的正确方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)