我正在设计一个REST Web服务,它将允许客户端使用用户名/密码和Windows身份验证进行身份验证。选择是.NET Core 2.x,因此我们可以在Windows(Server 2008R2至2016)和Linux上进行部署。
流量:
据我了解,主要节点是Windows身份验证和OAuth2: -Web API似乎已开箱即用地支持Windows身份验证,但这不是我想要的:REST请求应使用令牌处理,只有登录请求才应验证有效凭据
谢谢!
答案 0 :(得分:0)
根据您的情况,我确定Windows上的OAuth2身份验证更多是本地Windows身份验证,因为您想将Windows Active Directory与域信息一起使用。
您必须在加入该域的Active Directory域中配置Windows Server,并且该Windows Server必须配置了ADFS。建议至少使用Windows Server 2016作为提供ADFS的最低版本,因为Windows Server 2016作为身份验证的一部分完全支持OAuth2和OpenIDConnect(OIDC)。
此ADFS设置非常重要,因为为您的Web API使用OAuth2 / OIDC意味着建议您使用“代码授予”身份验证,因此,在用户访问Web API之前,您必须提供OAuth同意登录屏幕。 / p>
有关更多信息,请参见以下文章:
我强烈建议至少使用Windows Server2016。因为它具有ADFS 4.0以完全支持流行的授予(代码授予,代码ID令牌授予,隐式,资源所有者),并且还具有nativeclient(桌面)的完全支持客户端),Web API和守护程序服务。