У меня есть такая конфигурация
public class Config
{
public static IEnumerable<Client> GetClients(string[] originUris, string[] redirectUris, int tokenLifetime, int slientRefreshToken)
{
return new List<Client>
{
new Client
{
ClientId = "eFMS",
ClientName = "eFMS Services",
AccessTokenLifetime = tokenLifetime,
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
RequireClientSecret = false,
RequireConsent = false,
AlwaysSendClientClaims = true,
AllowAccessTokensViaBrowser = true,
AccessTokenType = AccessTokenType.Jwt,
AllowOfflineAccess = true,
UpdateAccessTokenClaimsOnRefresh = true,
RefreshTokenExpiration = TokenExpiration.Sliding,
SlidingRefreshTokenLifetime = slientRefreshToken,
RedirectUris = redirectUris,
AllowedCorsOrigins= originUris,
AlwaysIncludeUserClaimsInIdToken = true,
AllowedScopes =
{
"openid", "profile", "offline_access", "efms_scope"
},
}
};
}
public static IEnumerable<ApiResource> GetApiResources()
{
return new List<ApiResource>
{
new ApiResource("efms_api", "eFMS D&T API")
{
ApiSecrets = { new Secret("secret".Sha256()) }
}
};
}
public static IEnumerable<IdentityResource> GetIdentityResources()
{
return new List<IdentityResource>
{
new IdentityResources.OpenId(),
new IdentityResources.Profile() { Required = true },
new IdentityResource()
{
Name = "efms_scope",
Description = "eFMS D&T API",
DisplayName = "eFMS D&T API",
UserClaims =
{
"userId","workplaceId","userName","email"
}
}
};
}
}
, и когда я тестирую почтальона с именем пользователя: admin, пароль: 123456, маркер возврата введите описание изображения здесь
, ноесли я хэширую пароль, результатом будет «invalid_grant», и когда я отлаживаю код, не оправдывайте в Task ValidateAsync (ResourceOwnerPasswordValidationContext context) функцию.Пожалуйста, помогите мне решить эту проблему