質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
blazor

Blazorは、マイクロソフトが開発している.NETベースのWebアプリフレームワークです。C#でフロントエンドもバックエンドも一貫して書くことが可能。クライアントサイド(WebAssembly)とサーバーサイド形式のホスティングモデルがあります。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

2533閲覧

[Blazor+identity] ログインに失敗する

WBD212

総合スコア5

blazor

Blazorは、マイクロソフトが開発している.NETベースのWebアプリフレームワークです。C#でフロントエンドもバックエンドも一貫して書くことが可能。クライアントサイド(WebAssembly)とサーバーサイド形式のホスティングモデルがあります。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/04/22 03:05

編集2021/04/22 03:08

環境

Microsoft Visual Studio Professional 2019
.NET 5.0
Blazor サーバーアプリ

経緯

現在Blazor(サーバー)にて学習を行っており、開発中のアプリにログイン認証機能を実装したいと考えています。
プロジェクト作成の際に「認証」項目を個別のユーザアカウントを指定して作成しました。

イメージ説明

作成したプロジェクトに変更を加えずにそのままデバッグ実行してRegisterからユーザ情報を作成後に
Loginよりログインしようとしたところ、下記画面表示となりログインすることが出来ない状態です。
ログインに失敗する原因をご教授頂けないでしょうか。
イメージ説明

試したこと

①appsettings.jsonの接続文字列に記載されているDBに登録したユーザ情報のレコードが存在することは確認しました。
②登録済みのレコードのTwoFactorEnabled、PhoneNumberConfirmed、EmailConfirmed項目をTrueに変更
LockoutEnabled項目をFalseに変更しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

EmailConfirmedをTrueにすると認証された扱いとなるようです。

追記:
実際にアプリを開発する際はメールを送信して2段階認証を行うが、
テスト用に作成したアプリは上記手順の通りVisualStudioが自動生成したままのため、
regist画面でメールアドレスとパスワードを登録後に表示される画面で「Click here to confirm your account」をクリックすることによりEmailConfirmedがTrueに更新されるようです。
イメージ説明

追記2:
Startup.cs内の下記コードにてEmail Confirmation の要不要を設定している旨をご教授頂きました。
今回はoptions.SignIn.RequireConfirmedAccountをFalseに設定することで対応したいと思います。

services.AddDefaultIdentity<ApplicationUser>(options =>
options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();

投稿2021/04/22 04:19

編集2021/04/22 09:18
WBD212

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/22 05:13

それはやり方が間違ってます。
WBD212

2021/04/22 07:03

お手数をお掛けいたしますが、正しい手順等をご教授頂けないでしょうか。 初期設定を行う必要があったりするものなのでしょうか?
WBD212

2021/04/22 07:15

画面操作によりEmailConfirmedをTrueに変更する手段がわかったため、解決方法に追記いたしました。 が、これも間違えていますでしょうか?
退会済みユーザー

退会済みユーザー

2021/04/22 07:48

Blazor Server は分かりませんが、Blazor WASM の場合は startup.cs に以下のコードがあって、Email Confirmation の要不要が設定できるのですが、質問者さんのケースではいかがですか? services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true) .AddEntityFrameworkStores<ApplicationDbContext>();
WBD212

2021/04/22 09:12

startup.cs内にて該当コードが存在することを確認いたしました。 認証の実装手順調査のみの実装のため、options.SignIn.RequireConfirmedAccountをFalseに設定して対応することにいたしました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問