我有身份服务器3设置并使用Windows身份验证,我在2个单独的项目中拥有Identity Server实例和Windows身份验证,我将自定义声明存储在数据库中,因此我将这些声明添加到令牌中以便不具备使Web Api使用Windows并且必须检查每个请求的用户声明,因为我有一个使用该服务的单独Javascript客户端。一切都很棒。
如何向其他类型的客户端的身份服务器实例添加其他身份验证选项?对于域中的Windows用户,我想使用Windows Auth,对于域外的用户,我希望能够使用用户名密码显示登录,但我不希望域内的Windows用户看到Identity Server页面用windows按钮。
我对如何设置此行感到有些困惑:
factory.UserService = new Registration<IUserService>(typeof(ExternalRegistrationUserService));
var options = new IdentityServerOptions
{
SigningCertificate = Certificate.Load(),
Factory = factory,
AuthenticationOptions = new AuthenticationOptions
{
EnableLocalLogin = false,
IdentityProviders = ConfigureIdentityProviders,
}
};
我是否需要获取多个身份服务器或一个实例支持多个身份验证选项?
答案 0 :(得分:0)
您不需要多个身份服务器。您使用的是identityserver 3还是4? IdentityServer4在文档中有一个页面,说明如何使用WebListener或Kestrel执行此操作:http://docs.identityserver.io/en/release/topics/windows.html