From 61b1658a67a3b52fc5a4808479a85a6c3a858ac2 Mon Sep 17 00:00:00 2001 From: Dave Melendez Date: Wed, 20 Sep 2017 13:34:02 -0700 Subject: [PATCH] Refactoring for Identity Core 2. Adding sample mvc for core 2 reference. --- .gitignore | 277 +++- README.md | 99 +- sample/.vs/config/applicationhost.config | 29 +- sample/.vs/samplecore.sqlite | Bin 389120 -> 622592 bytes sample/samplecore.sln | 11 +- sample/samplecore2.mvc/.bowerrc | 3 + .../Controllers/AccountController.cs | 464 +++++++ .../Controllers/HomeController.cs | 37 + .../Controllers/ManageController.cs | 505 +++++++ .../Data/ApplicationDbContext.cs | 15 + .../Extensions/EmailSenderExtensions.cs | 18 + .../Extensions/UrlHelperExtensions.cs | 29 + .../ExternalLoginViewModel.cs | 15 + .../ForgotPasswordViewModel.cs | 15 + .../AccountViewModels/LoginViewModel.cs | 22 + .../LoginWith2faViewModel.cs | 22 + .../LoginWithRecoveryCodeViewModel.cs | 16 + .../AccountViewModels/RegisterViewModel.cs | 27 + .../ResetPasswordViewModel.cs | 27 + .../samplecore2.mvc/Models/ApplicationUser.cs | 14 + .../samplecore2.mvc/Models/ErrorViewModel.cs | 11 + .../ChangePasswordViewModel.cs | 29 + .../EnableAuthenticatorViewModel.cs | 23 + .../ExternalLoginsViewModel.cs | 20 + .../GenerateRecoveryCodesViewModel.cs | 13 + .../Models/ManageViewModels/IndexViewModel.cs | 25 + .../ManageViewModels/RemoveLoginViewModel.cs | 14 + .../ManageViewModels/SetPasswordViewModel.cs | 24 + .../TwoFactorAuthenticationViewModel.cs | 17 + sample/samplecore2.mvc/Program.cs | 25 + .../Properties/launchSettings.json | 24 + .../samplecore2.mvc/Services/EmailSender.cs | 17 + .../samplecore2.mvc/Services/IEmailSender.cs | 12 + sample/samplecore2.mvc/Startup.cs | 80 ++ .../Views/Account/AccessDenied.cshtml | 8 + .../Views/Account/ConfirmEmail.cshtml | 10 + .../Views/Account/ExternalLogin.cshtml | 32 + .../Views/Account/ForgotPassword.cshtml | 25 + .../Account/ForgotPasswordConfirmation.cshtml | 8 + .../Views/Account/Lockout.cshtml | 8 + .../Views/Account/Login.cshtml | 87 ++ .../Views/Account/LoginWith2fa.cshtml | 40 + .../Account/LoginWithRecoveryCode.cshtml | 28 + .../Views/Account/Register.cshtml | 36 + .../Views/Account/ResetPassword.cshtml | 36 + .../Account/ResetPasswordConfirmation.cshtml | 8 + .../Views/Account/SignedOut.cshtml | 8 + .../samplecore2.mvc/Views/Home/About.cshtml | 7 + .../samplecore2.mvc/Views/Home/Contact.cshtml | 17 + .../samplecore2.mvc/Views/Home/Index.cshtml | 108 ++ .../Views/Manage/ChangePassword.cshtml | 35 + .../Views/Manage/Disable2fa.cshtml | 24 + .../Views/Manage/EnableAuthenticator.cshtml | 52 + .../Views/Manage/ExternalLogins.cshtml | 52 + .../Views/Manage/GenerateRecoveryCodes.cshtml | 24 + .../samplecore2.mvc/Views/Manage/Index.cshtml | 45 + .../Views/Manage/ManageNavPages.cs | 38 + .../Views/Manage/ResetAuthenticator.cshtml | 21 + .../Views/Manage/SetPassword.cshtml | 34 + .../Manage/TwoFactorAuthentication.cshtml | 49 + .../Views/Manage/_Layout.cshtml | 23 + .../Views/Manage/_ManageNav.cshtml | 16 + .../Views/Manage/_StatusMessage.cshtml | 10 + .../Views/Manage/_ViewImports.cshtml | 1 + .../samplecore2.mvc/Views/Shared/Error.cshtml | 22 + .../Views/Shared/_Layout.cshtml | 72 + .../Views/Shared/_LoginPartial.cshtml | 26 + .../Shared/_ValidationScriptsPartial.cshtml | 18 + .../samplecore2.mvc/Views/_ViewImports.cshtml | 6 + .../samplecore2.mvc/Views/_ViewStart.cshtml | 3 + .../appsettings.Development.json | 10 + sample/samplecore2.mvc/appsettings.json | 19 + sample/samplecore2.mvc/bower.json | 10 + sample/samplecore2.mvc/bundleconfig.json | 24 + sample/samplecore2.mvc/samplecore2.mvc.csproj | 24 + sample/samplecore2.mvc/wwwroot/css/site.css | 35 + .../samplecore2.mvc/wwwroot/css/site.min.css | 1 + sample/samplecore2.mvc/wwwroot/favicon.ico | Bin 0 -> 32038 bytes .../wwwroot/images/banner1.svg | 1 + .../wwwroot/images/banner2.svg | 1 + .../wwwroot/images/banner3.svg | 1 + .../wwwroot/images/banner4.svg | 1 + sample/samplecore2.mvc/wwwroot/js/site.js | 1 + sample/samplecore2.mvc/wwwroot/js/site.min.js | 0 .../wwwroot/lib/bootstrap/.bower.json | 45 + .../wwwroot/lib/bootstrap/LICENSE | 21 + .../jquery-validation-unobtrusive/.bower.json | 44 + .../jquery.validate.unobtrusive.js | 416 ++++++ .../jquery.validate.unobtrusive.min.js | 5 + .../wwwroot/lib/jquery-validation/.bower.json | 40 + .../wwwroot/lib/jquery-validation/LICENSE.md | 22 + .../wwwroot/lib/jquery/.bower.json | 25 + .../wwwroot/lib/jquery/LICENSE.txt | 36 + ...mino.AspNetCore.Identity.DocumentDB.csproj | 23 +- .../Extensions/IQueryableExtensions.cs | 12 +- .../Helpers/JsonHelpers.cs | 16 +- .../Model/IResource.cs | 25 + .../Model/IdentityRole.cs | 57 +- .../Model/IdentityRoleClaim.cs | 30 +- .../Model/IdentityUser.cs | 74 +- .../Model/IdentityUserClaim.cs | 25 +- .../Model/IdentityUserLogin.cs | 11 +- .../Model/IdentityUserRole.cs | 7 +- .../Model/IdentityUserToken.cs | 38 +- .../Resources.Designer.cs | 5 +- .../RoleStore.cs | 280 +--- .../UserStore.cs | 1161 +++-------------- .../BaseTest.cs | 6 +- ...spNetCore.Identity.DocumentDB.Tests.csproj | 20 +- .../RoleStoreTests.cs | 18 +- .../UserStoreTests.Properties.partial.cs | 4 +- .../UserStoreTests.cs | 18 +- 112 files changed, 4248 insertions(+), 1380 deletions(-) create mode 100644 sample/samplecore2.mvc/.bowerrc create mode 100644 sample/samplecore2.mvc/Controllers/AccountController.cs create mode 100644 sample/samplecore2.mvc/Controllers/HomeController.cs create mode 100644 sample/samplecore2.mvc/Controllers/ManageController.cs create mode 100644 sample/samplecore2.mvc/Data/ApplicationDbContext.cs create mode 100644 sample/samplecore2.mvc/Extensions/EmailSenderExtensions.cs create mode 100644 sample/samplecore2.mvc/Extensions/UrlHelperExtensions.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/ExternalLoginViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/ForgotPasswordViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/LoginViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/LoginWith2faViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/LoginWithRecoveryCodeViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/RegisterViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/AccountViewModels/ResetPasswordViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ApplicationUser.cs create mode 100644 sample/samplecore2.mvc/Models/ErrorViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/ChangePasswordViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/EnableAuthenticatorViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/ExternalLoginsViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/GenerateRecoveryCodesViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/IndexViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/RemoveLoginViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/SetPasswordViewModel.cs create mode 100644 sample/samplecore2.mvc/Models/ManageViewModels/TwoFactorAuthenticationViewModel.cs create mode 100644 sample/samplecore2.mvc/Program.cs create mode 100644 sample/samplecore2.mvc/Properties/launchSettings.json create mode 100644 sample/samplecore2.mvc/Services/EmailSender.cs create mode 100644 sample/samplecore2.mvc/Services/IEmailSender.cs create mode 100644 sample/samplecore2.mvc/Startup.cs create mode 100644 sample/samplecore2.mvc/Views/Account/AccessDenied.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ConfirmEmail.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ExternalLogin.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ForgotPassword.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ForgotPasswordConfirmation.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/Lockout.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/Login.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/LoginWith2fa.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/LoginWithRecoveryCode.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/Register.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ResetPassword.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/ResetPasswordConfirmation.cshtml create mode 100644 sample/samplecore2.mvc/Views/Account/SignedOut.cshtml create mode 100644 sample/samplecore2.mvc/Views/Home/About.cshtml create mode 100644 sample/samplecore2.mvc/Views/Home/Contact.cshtml create mode 100644 sample/samplecore2.mvc/Views/Home/Index.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/ChangePassword.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/Disable2fa.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/EnableAuthenticator.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/ExternalLogins.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/GenerateRecoveryCodes.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/Index.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/ManageNavPages.cs create mode 100644 sample/samplecore2.mvc/Views/Manage/ResetAuthenticator.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/SetPassword.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/TwoFactorAuthentication.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/_Layout.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/_ManageNav.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/_StatusMessage.cshtml create mode 100644 sample/samplecore2.mvc/Views/Manage/_ViewImports.cshtml create mode 100644 sample/samplecore2.mvc/Views/Shared/Error.cshtml create mode 100644 sample/samplecore2.mvc/Views/Shared/_Layout.cshtml create mode 100644 sample/samplecore2.mvc/Views/Shared/_LoginPartial.cshtml create mode 100644 sample/samplecore2.mvc/Views/Shared/_ValidationScriptsPartial.cshtml create mode 100644 sample/samplecore2.mvc/Views/_ViewImports.cshtml create mode 100644 sample/samplecore2.mvc/Views/_ViewStart.cshtml create mode 100644 sample/samplecore2.mvc/appsettings.Development.json create mode 100644 sample/samplecore2.mvc/appsettings.json create mode 100644 sample/samplecore2.mvc/bower.json create mode 100644 sample/samplecore2.mvc/bundleconfig.json create mode 100644 sample/samplecore2.mvc/samplecore2.mvc.csproj create mode 100644 sample/samplecore2.mvc/wwwroot/css/site.css create mode 100644 sample/samplecore2.mvc/wwwroot/css/site.min.css create mode 100644 sample/samplecore2.mvc/wwwroot/favicon.ico create mode 100644 sample/samplecore2.mvc/wwwroot/images/banner1.svg create mode 100644 sample/samplecore2.mvc/wwwroot/images/banner2.svg create mode 100644 sample/samplecore2.mvc/wwwroot/images/banner3.svg create mode 100644 sample/samplecore2.mvc/wwwroot/images/banner4.svg create mode 100644 sample/samplecore2.mvc/wwwroot/js/site.js create mode 100644 sample/samplecore2.mvc/wwwroot/js/site.min.js create mode 100644 sample/samplecore2.mvc/wwwroot/lib/bootstrap/.bower.json create mode 100644 sample/samplecore2.mvc/wwwroot/lib/bootstrap/LICENSE create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery-validation-unobtrusive/.bower.json create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery-validation/.bower.json create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery-validation/LICENSE.md create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery/.bower.json create mode 100644 sample/samplecore2.mvc/wwwroot/lib/jquery/LICENSE.txt create mode 100644 src/ElCamino.AspNetCore.Identity.DocumentDB/Model/IResource.cs diff --git a/.gitignore b/.gitignore index 2ce3efb..36667dc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,273 @@ -################################################################################ -# This .gitignore file was automatically created by Microsoft(R) Visual Studio. -################################################################################ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. -**/bin/** -**/obj/** -*.user +# User-specific files *.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +sample/.vs/ + +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ +dist/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +/TEST-Results.xml +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +#*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) + + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc +/src/Api/global.json +/src/Auth/global.json +/test/Api.Tests/global.json +/test/Data.Tests/global.json +!/src/Web/wwwroot/out-tsc/ +/src/Web/wwwroot/ + +*.sqlite diff --git a/README.md b/README.md index 32468b7..f8c947c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,99 @@ # identitycoredocumentdb -Azure DocumentDB Provider for ASP.NET Identity Core 1.x framework. + +This project is an open source high performance plugin to ASP.NET Core Identity framework using Azure CosmosDB/DocumentDB. + +Identity Core 1.x - Use ElCamino.AspNetCore.Identity.AzureTable, sample Mvc app: https://github.com/dlmelendez/identitycoredocumentdb/tree/master/sample/samplecore.mvc + +Identity Core 2.x - Use ElCamino.AspNetCore.Identity.AzureTable, sample Mvc app: https://github.com/dlmelendez/identitycoredocumentdb/tree/master/sample/samplecore2.mvc + +## Quick Start for Identity Core 2 + +Download the CosmosDB [emulator](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator) or setup an [instance in Azure](https://docs.microsoft.com/en-us/azure/cosmos-db/create-documentdb-dotnet). + +Remove the NuGet packages EntityFramework and Microsoft.AspNetCore.Identity.EntityFramework packages using the Manage NuGet Packages. + +##### Simplify your project references +```xml + + + + + + + + + + + + + + +``` + +Remove all using statements referencing EntityFramework. +Delete the /Data/Migrations directory and all files in it. + +##### Changes to [/Models/ApplicationUser.cs](https://github.com/dlmelendez/identitycoredocumentdb/blob/master/sample/samplecore2.mvc/Models/ApplicationUser.cs) +```C# +using IdentityUser = ElCamino.AspNetCore.Identity.DocumentDB.Model.IdentityUser; +... + // Add profile data for application users by adding properties to the ApplicationUser class + public class ApplicationUser : IdentityUser + { + } +``` +##### Changes to [/Data/ApplicationDbContext.cs](https://github.com/dlmelendez/identitycoredocumentdb/blob/master/sample/samplecore2.mvc/Data/ApplicationDbContext.cs) +```C# +using ElCamino.AspNetCore.Identity.DocumentDB; +using ElCamino.AspNetCore.Identity.DocumentDB.Model; +... + public class ApplicationDbContext : IdentityCloudContext + { + public ApplicationDbContext(IdentityConfiguration config) : base(config) { } + } +``` +##### Changes to [/Startup.cs](https://github.com/dlmelendez/identitycoredocumentdb/blob/master/sample/samplecore2.mvc/Startup.cs) +```c# +using ElCamino.AspNetCore.Identity.DocumentDB.Model; +using Microsoft.Azure.Documents.Client; +using IdentityRole = ElCamino.AspNetCore.Identity.DocumentDB.Model.IdentityRole; +... + public class Startup + { +... + // This method gets called by the runtime. Use this method to add services to the container. + public void ConfigureServices(IServiceCollection services) + { + services.AddIdentity() + .AddDocumentDBStores(() => + { + return new IdentityConfiguration() + { + Uri = Configuration["IdentityDocumentDB:identityConfiguration:uri"], + AuthKey = Configuration["IdentityDocumentDB:identityConfiguration:authKey"], + Database = Configuration["IdentityDocumentDB:identityConfiguration:database"], + IdentityCollection = Configuration["IdentityDocumentDB:identityConfiguration:identityCollection"], + Policy = new ConnectionPolicy() + { + ConnectionMode = ConnectionMode.Gateway, + ConnectionProtocol = Protocol.Https + } + }; + }).AddDefaultTokenProviders(); +... +``` +##### Changes to [/appsettings.json](https://github.com/dlmelendez/identitycoredocumentdb/blob/master/sample/samplecore2.mvc/appsettings.json) +Defaults for the local CosmosDB emulator. database and collection need to follow the CosmosDB naming rules, otherwise use whatever you like. +```json +{ +... + "IdentityDocumentDB": { + "identityConfiguration": { + "uri": "https://localhost:8081", + "authKey": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==", + "database": "Id", + "identityCollection": "users" + } + } +... +``` \ No newline at end of file diff --git a/sample/.vs/config/applicationhost.config b/sample/.vs/config/applicationhost.config index d7aa3d2..87c03b2 100644 --- a/sample/.vs/config/applicationhost.config +++ b/sample/.vs/config/applicationhost.config @@ -1,4 +1,4 @@ - +