IdentityServer4—是否有一种方法可以作为授权代码流的一部分对用户进行静默身份验证?

IdentityServer4—是否有一种方法可以作为授权代码流的一部分对用户进行静默身份验证?,identityserver4,Identityserver4,我的场景是,客户端只有一个用户,该用户将用于获取/创建API数据。我想使用授权代码流(或任何合适的?)并静默地对一个用户进行身份验证,并生成id_令牌和访问令牌。我的客户现在不希望登录屏幕进行身份验证(可能他们的应用程序中已经有用户身份验证),因为只有一个用户 如何实现这一目标,使用何种类型的补助金?或者是否有一种使用用户名和密码自动登录用户的方法?如果您有他们的用户名和密码,您可以使用: POST/connect/token client\u id=yourclientid&client\u

我的场景是,客户端只有一个用户,该用户将用于获取/创建API数据。我想使用授权代码流(或任何合适的?)并静默地对一个用户进行身份验证,并生成id_令牌和访问令牌。我的客户现在不希望登录屏幕进行身份验证(可能他们的应用程序中已经有用户身份验证),因为只有一个用户


如何实现这一目标,使用何种类型的补助金?或者是否有一种使用用户名和密码自动登录用户的方法?

如果您有他们的
用户名和
密码,您可以使用:

POST/connect/token

client\u id=yourclientid&client\u secret=yourclientsecret& 授权类型=密码& 用户名=您的用户名和密码=您的用户名密码

您可以使用来帮助您进行令牌请求:

var response = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
{
    Address = "https://demo.identityserver.io/connect/token",

    ClientId = "yourclientid",
    ClientSecret = "yourclientsecret",
    UserName = "yourusername",
    Password = "yourusernamespassword"
});

在这种情况下,此客户端的授权类型是什么?我是否可以将其设置为授权代码并仍然传递密码授权类型?对于这种反向通道流,它应该是客户端凭据或资源所有者密码。如果是机器对机器类型的集成,那么客户端凭据是最合适的。在这种情况下,客户端是移动应用程序。客户端凭据或资源所有者密码是否正常?在这种情况下,IdentityServer 4可能不是要使用的工具。白名单可能是一个更好的解决方案。