IdentityServer4 中带有 Windows 凭据的资源所有者密码凭据

时间:2021-03-25 07:23:13

标签: identityserver4

我想弄清楚,Windows 身份验证是否可以使用资源所有者密码凭据流?我知道 ROPC 不是推荐的方法,但我确实需要这样做。我如何通过 Windows 凭据从我的客户端应用程序进行身份验证?,我通过数据库拥有自己的自定义身份验证机制,(例如,我将检查特定的 Windows 帐户用户是否具有特定的角色),我的障碍是如何通过 Windows 凭据或 Windows 身份到身份服务器进行身份验证,而无需在 UI 上进行任何用户交互?,这可能吗?或者如果我需要改变方向来实现它,如果不能通过授权类型密码(ROPC)?或者我需要采取不同的方法。

通过客户端应用程序从身份服务器获取访问令牌的代码

我尝试过这种方法,但它不起作用。

HttpClientHandler handler = new HttpClientHandler()
            {
                UseDefaultCredentials = true
            };
            handler.PreAuthenticate = true;
            var client = new HttpClient(handler);

            var disco = await client.GetDiscoveryDocumentAsync(_options.AuthorityUrl);
            if (disco.IsError) throw new Exception(disco.Error);
 var response1 = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address = disco.TokenEndpoint,
                ClientId = clientId,
                ClientSecret = secret,
                Scope = "LocalApi",
                UserName = username,
                Password = password,
                Parameters =
                {
                    //type of authentication 
                    { "AuthenticationMethod",authenticationMode},
                   
                }
            });

0 个答案:

没有答案