郵便配達員を使用してユーザーにサインインしようとしています。 OAuth2トークン検証ミドルウェアを使用してOpenIdDict認証ソリューションを実装しました。イムは、アクセスを取得しようとしたときしかし、私は、次のエラーメッセージが表示されます:"username/password couple is invalid"
ユーザー名/パスワードのカップルは、私がテストユーザーを次のようしている
無効です。郵便配達中
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
var db = serviceScope.ServiceProvider.GetService<ApplicationDbContext>();
db.Database.EnsureDeleted();
db.Database.EnsureCreated();
var user = new User();
var hasher = new PasswordHasher<User>();
db.AddRange(
new ApplicationUser { FirstName = "Thomas", LastName = "Smith", UserName = "[email protected]",
Email = "[email protected]", PasswordHash = hasher.HashPassword(user, "Password1") },
);
db.SaveChanges();
}
私はauthorizationControllerでデバッグするときに、私のユーザー変数は、変数への入力が正しいにもかかわらず、ヌルであることが判明しました。
if (request.IsPasswordGrantType())
{
var user = await _userManager.FindByNameAsync(request.Username);
if (user == null){
return BadRequest(new OpenIdConnectResponse {
Error = OpenIdConnectConstants.Errors.InvalidGrant,
ErrorDescription = "The username/password couple is invalid."
});
}
実際にあなたの使用をデータベースに書き込むことはないからですか?あなたにdb.SaveChanges()が不足しているようです。 ? – Kris
申し訳ありませんが、私のコードの例でそれを忘れてしまった。コードが更新されました。また、テーブルをチェックして、テーブルを更新します。 – ebk