The DAUP has been upgraded to ASP.NET Core 6.0 with Visual Studio 2022. I migrated the Startup.cs to top-level
statements in Program.cs. I also implemented global usings and file scoped namespaces. I have enabled the
nullable context and mitigated all warnings and issues. I have updated the DAUP with Twitter Bootstrap v5. See
ASP.NET Core 5.0 - Migrate To Bootstrap v5. This project implements
The Table Function demo with an In Memory database implements the ASP.NET Core 6.0 version of the
ASP.NET Core 3.1 - Table Functions Project. Lists of fruit, vegetable and spice names for records
demonstrate table functions like paging, filtering, and sorting.
The FIDO processes involve interaction between the client, authenticator, and user without the server. A message
to inform the user something went wrong, and they need to start over is the most important. This oops message
needs to prevent the user from continuing on the current page and provide a link to the start over page. The first
oops message in the Users Without Passwords Project was a Bootstrap-jQuery modal with no dismiss button, a
link to start over, a 'static' backdrop and keyboard=false. I liked it enough to develop a success message to present
before automatically navigating to the goal. I liked that enough to develop message-modal.js with a
showMessageModal() function which dynamically creates the html. I liked that enough to develop
a ajax-modal.js with
I liked that enough to develop a confirm-modal.js with a
showConfirmModal() function which
executes a confirmed callback function when the confirm button is clicked. I liked that enough to develop a
dynamic-modals.js which bundles message-modal.js, ajax-modal.js, and confirm-modal.js. See
ASP.NET Core 3.1 - Message Modal.
The Admin > Index page implements the
showConfirmModal() functions with mock ajax and confirm server functions. The DAUP includes
a Message Modal Generator which dynamically creates the minimal signature for the
showMessageModal() function with examples.
The Admin Page implements email tests with the updated EmailSender. The Admin Page can test the Error page
and the ExceptionEmailerMiddleware which send error emails when the AppSettings. DebugExceptionHandling
is set to true. The Admin Page implements mock ajax and confirm server functions to test the dynamic-modals.js
functions. A Field Update control from the Ajax Postback Control demo is also implemented.
to request user consent for non-essential cookies like screen size and time offset. The DAUP includes a sample
The 2020 Guide to Google Analytics and GDPR Compliance.
FIDO authenticators require a unique code called a challenge from the server. The client transforms the
challenge to a UInt8Array expected by the authenticator. The client sends the response from
the authenticator to the server. The response includes the challenge which is decoded from the UInt8Array to
verify a match to the server's original code. If the challenge is verified the response is decoded and verified.
If the response is verified, it is stored, and action is implemented like create or login the user.
I simulate an FIDO authenticator by converting the challenge from the server to a UInt8Array before posting the
serialized challenge array to the callback. The callback decodes the posted challenge and compares it to the
original code we stored in TempData. The DAUP includes a Challenge demo which implements the Cookie
TempDataProvider and UInt8Array conversion. See
ASP.NET Core 3.1 - Round Trip Challenge. I added the TempData Demo which demonstrates the TempData
attribute and ITempDataDictionary implemented in the UWPP. See
ASP.NET Core 5.0 - The TempData Challenge.
The updated AES Cipher demo implements the AesCrypto class. The DAUP does not require SQL Server but includes
an encrypted connection string demonstration in Program.cs and appsettings.json.