 b24beb3154
			
		
	
	
		b24beb3154
		
	
	
	
	
		
			
			This commit integrates ASP.NET Core Identity into the application to enable user registration, login, and management. This lays the groundwork for securing data per user.
**Key Changes:**
*   **DbContext Configuration:**
    *   Modified `ApplicationDbContext.cs` to inherit from `IdentityDbContext<IdentityUser>`.
    *   Removed an unnecessary `using` statement from `ApplicationDbContext.cs`.
*   **Program.cs Setup:**
    *   Configured `AddDefaultIdentity<IdentityUser>` with `AddEntityFrameworkStores<ApplicationDbContext>()` to register Identity services.
    *   Ensured correct ordering of `UseAuthentication()` and `UseAuthorization()` middleware.
    *   Added `app.MapRazorPages()` to enable the Identity UI pages.
    *   Verified core package versions in `turf_tasker.csproj` for consistency across EF Core and Identity components (`8.0.6`).
*   **Identity UI:**
    *   Scaffolded ASP.NET Core Identity pages (Login, Register, Manage, etc.) to provide the user interface for authentication.
    *   Added a `_LoginPartial.cshtml` partial view to the `Views/Shared` folder.
    *   Rendered `_LoginPartial` in `Views/Shared/_Layout.cshtml` to display login/register/logout links in the navigation bar.
*   **Migrations:**
    *   Created and applied a new migration (`AddIdentitySchema`) to create the necessary ASP.NET Core Identity database tables (e.g., `AspNetUsers`, `AspNetRoles`).
		
	
			
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| @page
 | |
| @model EnableAuthenticatorModel
 | |
| @{
 | |
|     ViewData["Title"] = "Configure authenticator app";
 | |
|     ViewData["ActivePage"] = ManageNavPages.TwoFactorAuthentication;
 | |
| }
 | |
| 
 | |
| <partial name="_StatusMessage" for="StatusMessage" />
 | |
| <h3>@ViewData["Title"]</h3>
 | |
| <div>
 | |
|     <p>To use an authenticator app go through the following steps:</p>
 | |
|     <ol class="list">
 | |
|         <li>
 | |
|             <p>
 | |
|                 Download a two-factor authenticator app like Microsoft Authenticator for
 | |
|                 <a href="https://go.microsoft.com/fwlink/?Linkid=825072">Android</a> and
 | |
|                 <a href="https://go.microsoft.com/fwlink/?Linkid=825073">iOS</a> or
 | |
|                 Google Authenticator for
 | |
|                 <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en">Android</a> and
 | |
|                 <a href="https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8">iOS</a>.
 | |
|             </p>
 | |
|         </li>
 | |
|         <li>
 | |
|             <p>Scan the QR Code or enter this key <kbd>@Model.SharedKey</kbd> into your two factor authenticator app. Spaces and casing do not matter.</p>
 | |
|             <div class="alert alert-info">Learn how to <a href="https://go.microsoft.com/fwlink/?Linkid=852423">enable QR code generation</a>.</div>
 | |
|             <div id="qrCode"></div>
 | |
|             <div id="qrCodeData" data-url="@Model.AuthenticatorUri"></div>
 | |
|         </li>
 | |
|         <li>
 | |
|             <p>
 | |
|                 Once you have scanned the QR code or input the key above, your two factor authentication app will provide you
 | |
|                 with a unique code. Enter the code in the confirmation box below.
 | |
|             </p>
 | |
|             <div class="row">
 | |
|                 <div class="col-md-6">
 | |
|                     <form id="send-code" method="post">
 | |
|                         <div class="form-floating mb-3">
 | |
|                             <input asp-for="Input.Code" class="form-control" autocomplete="off" placeholder="Please enter the code."/>
 | |
|                             <label asp-for="Input.Code" class="control-label form-label">Verification Code</label>
 | |
|                             <span asp-validation-for="Input.Code" class="text-danger"></span>
 | |
|                         </div>
 | |
|                         <button type="submit" class="w-100 btn btn-lg btn-primary">Verify</button>
 | |
|                         <div asp-validation-summary="ModelOnly" class="text-danger" role="alert"></div>
 | |
|                     </form>
 | |
|                 </div>
 | |
|             </div>
 | |
|         </li>
 | |
|     </ol>
 | |
| </div>
 | |
| 
 | |
| @section Scripts {
 | |
|     <partial name="_ValidationScriptsPartial" />
 | |
| }
 |