Identity Server Windows和用户名密码

时间:2017-05-03 16:59:16

标签: identityserver3 identityserver4

我有身份服务器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,

                }
            };

我是否需要获取多个身份服务器或一个实例支持多个身份验证选项?

1 个答案:

答案 0 :(得分:0)

您不需要多个身份服务器。您使用的是identityserver 3还是4? IdentityServer4在文档中有一个页面,说明如何使用WebListener或Kestrel执行此操作:http://docs.identityserver.io/en/release/topics/windows.html