Ich habe versucht, die einfachsten Beispiele von IdentityServer4 zum Anfordern von Zugriff in reinem Code dahinter zu arbeiten. Ich kann ein Zugriffstoken erhalten, wenn eine Client-Anforderung verwenden, aber nicht, wenn eine Benutzeranmeldung zu tun ..IdentityServer4 unsupported_grant_type Fehler
var discos = new DiscoveryClient(authority);
var disco = await discos.GetAsync();
if (disco.IsError)
{
Console.WriteLine(disco.Error);
return null;
}
var tokenClient = new TokenClient(disco.TokenEndpoint, "ro.client", "secret");
var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync("username", "password", "api1");
Dies ist der Client, der die Anforderung unter Verwendung von Benutzerdaten. ich einen ewigen unsupported_grant_type ..
Der Server es Setup hat als:
new Client
{
ClientId = "ro.client",
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
ClientSecrets =
{
new Secret("secret".Sha256())
},
AllowedScopes = { "api1" }
}
Kann jemand bitte identifizieren, was Im mierung. Benutzer können sich über die Front-End-Schnellstart-Benutzeroberfläche anmelden, die die Software anbietet, und dies ist in der Funktionalität integriert. Warum wird es nicht funktionieren, wenn das Unternehmen gültig ist?
Verwenden Sie In-Memory-Benutzer? –
Überprüfen Sie die Protokolle ... – leastprivilege