Вы можете найти множество примеров быстрого запуска в Identity Server 4 GitHub .Кроме того, насколько я понимаю, вы хотите использовать ResourceOwnerCredentials
тип предоставления.Вы не сможете легко изменить конечные точки, которые выдают токены, без переопределения большинства Identity Server 4, но вы можете реализовать интерфейс IResourceOwnerPasswordValidator
и настроить клиент с соответствующим разрешенным типом предоставления:
new Client
{
ClientId = "your_client",
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
ClientSecrets =
{
new Secret("your_password".Sha256())
},
AllowedScopes = { ... }
}
После этого клиенты могут вызвать конечную точку connect\token
, указав имя пользователя и пароль для данного пользователя вместе со своими учетными данными:
var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "ro.client",
ClientSecret = "secret",
UserName = "alice",
Password = "password",
Scope = "api1"
});