├── AzureFunctionsSamples ├── host.json ├── readme.md ├── SendMailWebHook │ └── function.json ├── CheckPlayerTagWebHook │ └── function.json ├── LookUpLoyaltyWebHook │ └── function.json └── CalculatePlayerProfilePercentCompleteWebHook │ ├── function.json │ └── run.csx ├── wingtipgamesb2c ├── src │ ├── WingTipToysWebApplication │ │ ├── wwwroot │ │ │ ├── js │ │ │ │ ├── site.min.js │ │ │ │ └── site.js │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ └── logo.png │ │ │ ├── lib │ │ │ │ ├── bootstrap │ │ │ │ │ ├── dist │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ │ │ └── js │ │ │ │ │ │ │ └── npm.js │ │ │ │ │ ├── .bower.json │ │ │ │ │ └── LICENSE │ │ │ │ ├── jquery │ │ │ │ │ └── .bower.json │ │ │ │ └── jquery-validation │ │ │ │ │ ├── .bower.json │ │ │ │ │ └── LICENSE.md │ │ │ └── css │ │ │ │ └── site.min.css │ │ ├── .bowerrc │ │ ├── Views │ │ │ ├── _ViewStart.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ ├── Shared │ │ │ │ ├── _LoginPartial.cshtml │ │ │ │ ├── Error.cshtml │ │ │ │ └── _ValidationScriptsPartial.cshtml │ │ │ ├── User │ │ │ │ └── ChangePassword.cshtml │ │ │ ├── Report │ │ │ │ └── B2CMfaRequestCountSummaryIndex.cshtml │ │ │ └── Audit │ │ │ │ ├── UserIndex.cshtml │ │ │ │ └── ApplicationIndex.cshtml │ │ ├── app.config │ │ ├── appsettings.Development.json │ │ ├── bower.json │ │ ├── ViewModels │ │ │ ├── User │ │ │ │ ├── IndexViewModel.cs │ │ │ │ ├── UserViewModel.cs │ │ │ │ ├── ChangePasswordViewModel.cs │ │ │ │ └── CreateViewModel.cs │ │ │ ├── Audit │ │ │ │ ├── IndexViewModel.cs │ │ │ │ └── AuditEntryViewModel.cs │ │ │ └── Report │ │ │ │ ├── TenantUserCountSummaryIndexViewModel.cs │ │ │ │ ├── B2CMfaRequestCountSummaryIndexViewModel.cs │ │ │ │ ├── B2CUserJourneySummaryEventsIndexViewModel.cs │ │ │ │ ├── B2CAuthenticationCountSummaryIndexViewModel.cs │ │ │ │ ├── B2CMfaRequestCountSummaryReportEntryViewModel.cs │ │ │ │ ├── B2CUserJourneySummaryEventsReportEntryViewModel.cs │ │ │ │ ├── TenantUserCountSummaryReportEntryViewModel.cs │ │ │ │ └── B2CAuthenticationCountSummaryReportEntryViewModel.cs │ │ ├── Constants.cs │ │ ├── IdentityExtensions.cs │ │ ├── Configuration │ │ │ └── UserControllerOptions.cs │ │ ├── Controllers │ │ │ └── HomeController.cs │ │ ├── Program.cs │ │ ├── bundleconfig.json │ │ ├── appsettings.json │ │ ├── HtmlHelpers │ │ │ └── NavbarHelper.cs │ │ └── MigrationStatusExtensions.cs │ ├── WingTipBillingWebApplication │ │ ├── wwwroot │ │ │ ├── js │ │ │ │ ├── site.min.js │ │ │ │ └── site.js │ │ │ ├── favicon.ico │ │ │ ├── lib │ │ │ │ ├── bootstrap │ │ │ │ │ ├── dist │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ │ │ └── js │ │ │ │ │ │ │ └── npm.js │ │ │ │ │ ├── .bower.json │ │ │ │ │ └── LICENSE │ │ │ │ ├── jquery │ │ │ │ │ └── .bower.json │ │ │ │ └── jquery-validation │ │ │ │ │ ├── .bower.json │ │ │ │ │ └── LICENSE.md │ │ │ └── css │ │ │ │ ├── site.min.css │ │ │ │ └── site.css │ │ ├── .bowerrc │ │ ├── Views │ │ │ ├── _ViewStart.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ ├── Home │ │ │ │ ├── About.cshtml │ │ │ │ └── Contact.cshtml │ │ │ └── Shared │ │ │ │ ├── Error.cshtml │ │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── app.config │ │ ├── appsettings.Development.json │ │ ├── bower.json │ │ ├── Controllers │ │ │ └── HomeController.cs │ │ ├── Api │ │ │ └── Models │ │ │ │ └── Order.cs │ │ ├── Program.cs │ │ ├── appsettings.json │ │ ├── bundleconfig.json │ │ ├── IdentityExtensions.cs │ │ ├── Constants.cs │ │ └── Identity │ │ │ ├── Saml2 │ │ │ └── FixedSaml2AuthnResponse.cs │ │ │ └── ClaimsPrincipalHelper.cs │ ├── WingTipGamesWebApplication │ │ ├── wwwroot │ │ │ ├── js │ │ │ │ ├── site.min.js │ │ │ │ └── site.js │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── logo.png │ │ │ │ ├── recore.png │ │ │ │ ├── gigantic.png │ │ │ │ ├── background.jpg │ │ │ │ ├── crackdown-3.png │ │ │ │ ├── first-slide.jpg │ │ │ │ ├── scalebound.png │ │ │ │ ├── third-slide.jpg │ │ │ │ ├── zero-slide.jpg │ │ │ │ ├── second-slide.jpg │ │ │ │ ├── silhouette-picture.png │ │ │ │ ├── deus-ex-mankind-divided.png │ │ │ │ ├── the-long-dark-game-preview.png │ │ │ │ ├── dovetail-games-euro-fishing.png │ │ │ │ ├── the-solas-project-game-preview.png │ │ │ │ ├── ark-survival-evolved-game-preview.png │ │ │ │ └── prison-architect-xbox-one-edition-game-preview.png │ │ │ └── lib │ │ │ │ ├── bootstrap │ │ │ │ ├── dist │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ │ └── js │ │ │ │ │ │ └── npm.js │ │ │ │ ├── .bower.json │ │ │ │ └── LICENSE │ │ │ │ ├── jquery │ │ │ │ └── .bower.json │ │ │ │ └── jquery-validation │ │ │ │ ├── .bower.json │ │ │ │ └── LICENSE.md │ │ ├── .bowerrc │ │ ├── Views │ │ │ ├── _ViewStart.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ ├── Activation │ │ │ │ ├── RedeemError.cshtml │ │ │ │ └── Redeemed.cshtml │ │ │ ├── Invitation │ │ │ │ ├── RedeemError.cshtml │ │ │ │ ├── Created.cshtml │ │ │ │ └── Redeemed.cshtml │ │ │ ├── Account │ │ │ │ └── LinkError.cshtml │ │ │ ├── Shared │ │ │ │ ├── Error.cshtml │ │ │ │ └── _ValidationScriptsPartial.cshtml │ │ │ └── Billing │ │ │ │ └── Index.cshtml │ │ ├── app.config │ │ ├── Models │ │ │ ├── Artist.cs │ │ │ ├── Game.cs │ │ │ ├── Order.cs │ │ │ └── Album.cs │ │ ├── Configuration │ │ │ ├── ActivationControllerOptions.cs │ │ │ └── InvitationControllerOptions.cs │ │ ├── appsettings.Development.json │ │ ├── bower.json │ │ ├── Services │ │ │ ├── IGeolocationService.cs │ │ │ ├── IBillingService.cs │ │ │ ├── IMusicService.cs │ │ │ └── Location.cs │ │ ├── Controllers │ │ │ └── DemoController.cs │ │ ├── ViewModels │ │ │ ├── Invitation │ │ │ │ ├── RedeemedViewModel.cs │ │ │ │ └── CreateViewModel.cs │ │ │ ├── Billing │ │ │ │ └── IndexViewModel.cs │ │ │ ├── Home │ │ │ │ └── IndexViewModel.cs │ │ │ ├── Music │ │ │ │ └── IndexViewModel.cs │ │ │ └── Activation │ │ │ │ └── RedeemedViewModel.cs │ │ ├── Repositories │ │ │ ├── IGameRepository.cs │ │ │ └── GameRepository.cs │ │ ├── Program.cs │ │ ├── HtmlHelpers │ │ │ └── NavbarHelper.cs │ │ ├── bundleconfig.json │ │ ├── appsettings.json │ │ └── Filters │ │ │ ├── CultureFilterAttribute.cs │ │ │ └── LocationFilterAttribute.cs │ ├── WingTipMusicWebApplication │ │ ├── wwwroot │ │ │ ├── js │ │ │ │ ├── site.min.js │ │ │ │ └── site.js │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── logo.png │ │ │ │ ├── background.jpg │ │ │ │ ├── first-slide.jpg │ │ │ │ ├── third-slide.jpg │ │ │ │ ├── second-slide.jpg │ │ │ │ ├── ed-sheran_divide.jpg │ │ │ │ ├── holy-holy_paint.jpg │ │ │ │ ├── lorde_green-light.jpg │ │ │ │ ├── silhouette-picture.png │ │ │ │ ├── electric-guest_plural.jpg │ │ │ │ ├── khalid_american-teen.jpg │ │ │ │ ├── gordy-haab_halo-wars-2.jpg │ │ │ │ ├── horrorshow_bardo-state.jpg │ │ │ │ ├── flume_skin-companion-ep-ii.jpg │ │ │ │ ├── jess-&-matt_belmont-street.jpg │ │ │ │ └── stormzy_gang-signs-&-prayer.jpg │ │ │ └── lib │ │ │ │ ├── bootstrap │ │ │ │ ├── dist │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ │ └── js │ │ │ │ │ │ └── npm.js │ │ │ │ ├── .bower.json │ │ │ │ └── LICENSE │ │ │ │ ├── jquery │ │ │ │ └── .bower.json │ │ │ │ └── jquery-validation │ │ │ │ ├── .bower.json │ │ │ │ └── LICENSE.md │ │ ├── .bowerrc │ │ ├── Views │ │ │ ├── _ViewStart.cshtml │ │ │ ├── _ViewImports.cshtml │ │ │ └── Shared │ │ │ │ ├── Error.cshtml │ │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── app.config │ │ ├── Models │ │ │ ├── Artist.cs │ │ │ └── Album.cs │ │ ├── appsettings.Development.json │ │ ├── bower.json │ │ ├── Services │ │ │ ├── IGeolocationService.cs │ │ │ ├── Location.cs │ │ │ └── FreeGeoIpGeolocationService.cs │ │ ├── Controllers │ │ │ └── DemoController.cs │ │ ├── ViewModels │ │ │ └── Home │ │ │ │ └── IndexViewModel.cs │ │ ├── Repositories │ │ │ ├── IAlbumRepository.cs │ │ │ └── AlbumRepository.cs │ │ ├── appsettings.json │ │ ├── Program.cs │ │ ├── HtmlHelpers │ │ │ └── NavbarHelper.cs │ │ ├── bundleconfig.json │ │ └── Filters │ │ │ ├── CultureFilterAttribute.cs │ │ │ └── LocationFilterAttribute.cs │ ├── WingTipFunctionsApplication │ │ ├── host.json │ │ ├── appsettings.json │ │ ├── VerifyTotpWebHook │ │ │ ├── project.json │ │ │ └── function.json │ │ ├── GenerateTotpWebHook │ │ │ ├── project.json │ │ │ └── function.json │ │ ├── appsettings.Development.json │ │ ├── packages.config │ │ ├── SendMailWebHook │ │ │ └── function.json │ │ ├── CheckEmailWebHook │ │ │ └── function.json │ │ ├── CheckPlayerTagWebHook │ │ │ └── function.json │ │ ├── CreateAuthyUserWebHook │ │ │ └── function.json │ │ ├── CalculatePlayerProfilePercentCompleteWebHook │ │ │ └── function.json │ │ ├── CreateAndWaitForAuthyApprovalRequestWebHook │ │ │ └── function.json │ │ └── Web.config │ ├── WingTipUserJourneyPlayerWebApplication │ │ ├── .bowerrc │ │ ├── Views │ │ │ └── _ViewStart.cshtml │ │ ├── app.config │ │ ├── wwwroot │ │ │ └── favicon.ico │ │ ├── appsettings.Development.json │ │ ├── bower.json │ │ ├── AzureApplicationInsightsCredential.cs │ │ ├── Constants.cs │ │ ├── Controllers │ │ │ ├── ConfigController.cs │ │ │ └── TraceController.cs │ │ ├── appsettings.json │ │ ├── Program.cs │ │ └── bundleconfig.json │ ├── WingTipIdentityWebApplication │ │ ├── app.config │ │ ├── Api │ │ │ └── Models │ │ │ │ ├── AccountRecoverPasswordRequest.cs │ │ │ │ ├── AccountCheckNonceRequest.cs │ │ │ │ ├── AccountCheckPasswordRequest.cs │ │ │ │ ├── AccountResetPasswordRequest.cs │ │ │ │ ├── AccountCheckNonceErrorResponse.cs │ │ │ │ └── AccountCreateRequest.cs │ │ ├── appsettings.Development.json │ │ ├── MigrationStatus.cs │ │ ├── appsettings.json │ │ ├── Program.cs │ │ └── Authentication │ │ │ └── BasicAuthenticationExtensions.cs │ └── WingTipCommon │ │ ├── Generators │ │ ├── IPasswordGenerator.cs │ │ └── PasswordCharacters.cs │ │ ├── MigrationStatus.cs │ │ ├── Identity │ │ ├── WingTipUser.cs │ │ └── WingTipDbContext.cs │ │ ├── Services │ │ ├── ISmtpService.cs │ │ ├── IAuthenticationService.cs │ │ └── IGraphService.cs │ │ ├── WingTipClaimTypes.cs │ │ ├── app.config │ │ └── AspNetCore │ │ └── Http │ │ ├── HttpsExtensions.cs │ │ └── HttpsMiddleware.cs ├── readme.md ├── Templates │ ├── src │ │ ├── images │ │ │ ├── logo.png │ │ │ ├── amazon.png │ │ │ ├── facebook.png │ │ │ ├── microsoft.png │ │ │ ├── background.jpg │ │ │ ├── googleplus.png │ │ │ ├── wingtipcorp.png │ │ │ ├── wingtiptoys.png │ │ │ └── activedirectory.png │ │ ├── fonts │ │ │ ├── Ubuntu-Bold.ttf │ │ │ ├── Ubuntu-Regular.ttf │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ └── js │ │ │ ├── analytics.js │ │ │ ├── selfasserted-appfactor.js │ │ │ ├── selfasserted-appfactor-registration.js │ │ │ ├── selfasserted-playerprofileregistration-basic.js │ │ │ ├── selfasserted-playerprofileregistration-full.js │ │ │ ├── selfasserted-playerprofileupdate.js │ │ │ └── selfasserted-listenerprofileupdate.js │ ├── dist │ │ ├── images │ │ │ ├── logo.png │ │ │ ├── amazon.png │ │ │ ├── facebook.png │ │ │ ├── background.jpg │ │ │ ├── googleplus.png │ │ │ ├── microsoft.png │ │ │ ├── wingtipcorp.png │ │ │ ├── wingtiptoys.png │ │ │ └── activedirectory.png │ │ ├── fonts │ │ │ ├── Ubuntu-Bold.ttf │ │ │ ├── Ubuntu-Regular.ttf │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ └── js │ │ │ ├── analytics.js │ │ │ ├── selfasserted-appfactor.js │ │ │ ├── selfasserted-appfactor-registration.js │ │ │ ├── selfasserted-playerprofileregistration-full.js │ │ │ ├── selfasserted-playerprofileregistration-basic.js │ │ │ ├── selfasserted-playerprofileupdate.js │ │ │ └── selfasserted-listenerprofileupdate.js │ └── package.json ├── Reports │ └── B2CUserJourneyEvents.pbix ├── Implementing an invitation flow, Sample by Kloud.docx └── Integrating a B2C policy with Azure Application Insights.docx ├── AppSamples-iOS-TouchID-master ├── readme.md ├── Pods.zip ├── Podfile ├── active-directory-ios-native-appauth-b2c │ ├── Icon.png │ ├── logo.png │ ├── Icon-120.png │ ├── Icon-152.png │ ├── Icon-16.png │ ├── Icon-167.png │ ├── Icon-180.png │ ├── Icon-24.png │ ├── Icon-32.png │ ├── Icon-40.png │ ├── Icon-60.png │ ├── Icon-64.png │ ├── Icon-72.png │ ├── Icon-76.png │ ├── Icon@2x.png │ ├── Icon@3x.png │ ├── Icon-40@2x.png │ ├── Icon-40@3x.png │ ├── Icon-60@2x.png │ ├── Icon-60@3x.png │ ├── Icon-72@2x.png │ ├── Icon-76@2x.png │ ├── Icon-Small.png │ ├── Icon-Small-40.png │ ├── Icon-Small-50.png │ ├── Icon-Small@2x.png │ ├── Icon-Small@3x.png │ ├── Icon-Small-40@2x.png │ ├── Icon-Small-40@3x.png │ ├── Icon-Small-50@2x.png │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Icon-40.png │ │ │ ├── Icon-60.png │ │ │ ├── Icon-40@2x.png │ │ │ ├── Icon-40@3x.png │ │ │ ├── Icon-60@2x.png │ │ │ ├── Icon-60@3x.png │ │ │ ├── Icon-Small@2x.png │ │ │ └── Icon-Small-50@2x.png │ ├── main.m │ ├── GameTableViewController.h │ ├── Games.h │ ├── ViewController.h │ └── AppDelegate.h ├── active-directory-ios-native-appauth-b2c.xcodeproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── active-directory-ios-native-appauth-b2c.xcworkspace │ └── contents.xcworkspacedata ├── Podfile.lock └── LICENSE ├── UserJourneyRecorder ├── UserJourneyRecorderWebApp │ ├── Global.asax │ ├── Infrastructure │ │ └── UserJourneyRecorderRouteHandler.cs │ ├── Properties │ │ └── Settings.settings │ ├── packages.config │ └── Global.asax.cs ├── Integrating a B2C policy with Azure Application Insights.docx ├── README.md └── UserJourneyRecorder.sln ├── CONTRIBUTING.md ├── account-linking ├── PROFILEEDIT.xml └── PASSWORDRESET.xml └── LICENSE /AzureFunctionsSamples/host.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/readme.md: -------------------------------------------------------------------------------- 1 | B2C with iOS app and Touch ID. 2 | 3 | -------------------------------------------------------------------------------- /wingtipgamesb2c/readme.md: -------------------------------------------------------------------------------- 1 | Complete project for https://wingtipgamesb2c.azurewebsites.net/ 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "b1e4c01b342e4c0c80d1253b986c6665" 3 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Values": { 3 | "SmtpUserName": "", 4 | "SmtpPassword": "" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/Pods.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/Pods.zip -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using WingTipGamesWebApplication 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using WingTipMusicWebApplication 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using WingTipToysWebApplication 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using WingTipBillingWebApplication 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '9.0' 2 | 3 | target 'active-directory-ios-native-appauth-b2c' do 4 | pod 'AppAuth' 5 | pod 'BKPasscodeView' 6 | end 7 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/amazon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/amazon.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Reports/B2CUserJourneyEvents.pbix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Reports/B2CUserJourneyEvents.pbix -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/amazon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/amazon.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/facebook.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/facebook.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/microsoft.png -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorderWebApp/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="UserJourneyRecorderWebApp.UserJourneyRecorderWebApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/fonts/Ubuntu-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/fonts/Ubuntu-Bold.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/background.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/googleplus.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/microsoft.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/fonts/Ubuntu-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/fonts/Ubuntu-Bold.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/background.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/googleplus.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/wingtipcorp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/wingtipcorp.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/wingtiptoys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/wingtiptoys.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/fonts/Ubuntu-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/fonts/Ubuntu-Regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/wingtipcorp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/wingtipcorp.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/wingtiptoys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/wingtiptoys.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/fonts/Ubuntu-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/fonts/Ubuntu-Regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/images/activedirectory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/images/activedirectory.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/images/activedirectory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/images/activedirectory.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/VerifyTotpWebHook/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "frameworks": { 3 | "net46": { 4 | "dependencies": { 5 | "OtpSharp": "1.3.0.4" 6 | } 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Models/Artist.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipGamesWebApplication.Models 2 | { 3 | public class Artist 4 | { 5 | public string Name { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Models/Artist.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipMusicWebApplication.Models 2 | { 3 | public class Artist 4 | { 5 | public string Name { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/favicon.ico -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Generators/IPasswordGenerator.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipCommon.Generators 2 | { 3 | public interface IPasswordGenerator 4 | { 5 | string GeneratePassword(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/favicon.ico -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/favicon.ico -------------------------------------------------------------------------------- /wingtipgamesb2c/Implementing an invitation flow, Sample by Kloud.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Implementing an invitation flow, Sample by Kloud.docx -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Templates/src/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/favicon.ico -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/images/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/recore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/recore.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Shared/_LoginPartial.cshtml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/gigantic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/gigantic.png -------------------------------------------------------------------------------- /wingtipgamesb2c/Integrating a B2C policy with Azure Application Insights.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/Integrating a B2C policy with Azure Application Insights.docx -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/background.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/crackdown-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/crackdown-3.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/first-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/first-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/scalebound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/scalebound.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/third-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/third-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/zero-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/zero-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/background.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/first-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/first-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/third-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/third-slide.jpg -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/logo.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/second-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/second-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/second-slide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/second-slide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/wwwroot/favicon.ico -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-120.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-152.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-16.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-167.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-180.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-24.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-32.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-64.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-72.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-76.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon@3x.png -------------------------------------------------------------------------------- /UserJourneyRecorder/Integrating a B2C policy with Azure Application Insights.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/UserJourneyRecorder/Integrating a B2C policy with Azure Application Insights.docx -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/ed-sheran_divide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/ed-sheran_divide.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/holy-holy_paint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/holy-holy_paint.jpg -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-40@3x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-60@3x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-72@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-76@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/Home/About.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "About"; 3 | } 4 |

@ViewData["Title"].

5 |

@ViewData["Message"]

6 | 7 |

Use this area to provide additional information.

8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/silhouette-picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/silhouette-picture.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/lorde_green-light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/lorde_green-light.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/silhouette-picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/silhouette-picture.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-50.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small@3x.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/GenerateTotpWebHook/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "frameworks": { 3 | "net46": { 4 | "dependencies": { 5 | "OtpSharp": "1.3.0.4", 6 | "QRCoder": "1.2.3" 7 | } 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/electric-guest_plural.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/electric-guest_plural.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/khalid_american-teen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/khalid_american-teen.jpg -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Icon-Small-50@2x.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/deus-ex-mankind-divided.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/deus-ex-mankind-divided.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/gordy-haab_halo-wars-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/gordy-haab_halo-wars-2.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/horrorshow_bardo-state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/horrorshow_bardo-state.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/MigrationStatus.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipCommon 2 | { 3 | public enum MigrationStatus 4 | { 5 | New, 6 | NotMigrated, 7 | MigratedWithoutPassword, 8 | MigratedWithPassword 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Configuration/ActivationControllerOptions.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipGamesWebApplication.Configuration 2 | { 3 | public class ActivationControllerOptions 4 | { 5 | public string Key { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Configuration/InvitationControllerOptions.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipGamesWebApplication.Configuration 2 | { 3 | public class InvitationControllerOptions 4 | { 5 | public string Key { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/the-long-dark-game-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/the-long-dark-game-preview.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/flume_skin-companion-ep-ii.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/flume_skin-companion-ep-ii.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/jess-&-matt_belmont-street.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/jess-&-matt_belmont-street.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/dovetail-games-euro-fishing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/dovetail-games-euro-fishing.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/stormzy_gang-signs-&-prayer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/images/stormzy_gang-signs-&-prayer.jpg -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/the-solas-project-game-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/the-solas-project-game-preview.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountRecoverPasswordRequest.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountRecoverPasswordRequest 4 | { 5 | public string UserName { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/ark-survival-evolved-game-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/ark-survival-evolved-game-preview.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logger": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Identity/WingTipUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity.EntityFrameworkCore; 2 | 3 | namespace WingTipCommon.Identity 4 | { 5 | public class WingTipUser : IdentityUser 6 | { 7 | public int MigrationStatus { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/MigrationStatus.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication 2 | { 3 | public enum MigrationStatus 4 | { 5 | New, 6 | NotMigrated, 7 | MigratedWithoutPassword, 8 | MigratedWithPassword 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/prison-architect-xbox-one-edition-game-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/images/prison-architect-xbox-one-edition-game-preview.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Services/IGeolocationService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace WingTipGamesWebApplication.Services 4 | { 5 | public interface IGeolocationService 6 | { 7 | Task GetLocationAsync(string ipAddress); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Services/IGeolocationService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace WingTipMusicWebApplication.Services 4 | { 5 | public interface IGeolocationService 6 | { 7 | Task GetLocationAsync(string ipAddress); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/User/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.User 4 | { 5 | public class IndexViewModel 6 | { 7 | public List Users { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.7", 6 | "jquery": "2.2.0", 7 | "jquery-validation": "1.14.0", 8 | "jquery-validation-unobtrusive": "3.2.6" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountCheckNonceRequest.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountCheckNonceRequest 4 | { 5 | public string UserName { get; set; } 6 | 7 | public string Nonce { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/active-directory-b2c-advanced-policies/HEAD/AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipToysWebApplication 2 | { 3 | public static class Constants 4 | { 5 | public static class AuthenticationSchemes 6 | { 7 | public const string ApplicationCookie = "ApplicationCookie"; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountCheckPasswordRequest.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountCheckPasswordRequest 4 | { 5 | public string UserName { get; set; } 6 | 7 | public string Password { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountResetPasswordRequest.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountResetPasswordRequest 4 | { 5 | public string UserName { get; set; } 6 | 7 | public string NewPassword { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Services/ISmtpService.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipCommon.Services 2 | { 3 | public interface ISmtpService 4 | { 5 | void SendActivationEmail(string toAddress, string displayName, string redeemUrl); 6 | 7 | void SendInvitationEmail(string toAddress, string redeemUrl); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/AzureApplicationInsightsCredential.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipUserJourneyPlayerWebApplication 2 | { 3 | public class AzureApplicationInsightsCredential 4 | { 5 | public string ApplicationId { get; set; } 6 | 7 | public string ApiKey { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Controllers/DemoController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace WingTipMusicWebApplication.Controllers 4 | { 5 | public class DemoController : Controller 6 | { 7 | public IActionResult Index() 8 | { 9 | return View(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Invitation/RedeemedViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipGamesWebApplication.Models; 3 | 4 | namespace WingTipGamesWebApplication.ViewModels.Invitation 5 | { 6 | public class RedeemedViewModel 7 | { 8 | public Game Game { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Controllers/DemoController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace WingTipGamesWebApplication.Controllers 4 | { 5 | public class DemoController : Controller 6 | { 7 | public IActionResult Index() 8 | { 9 | return View(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipUserJourneyPlayerWebApplication 2 | { 3 | public static class Constants 4 | { 5 | public static class AuthenticationSchemes 6 | { 7 | public const string ApplicationCookie = "ApplicationCookie"; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}} -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/WingTipClaimTypes.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipCommon 2 | { 3 | public static class WingTipClaimTypes 4 | { 5 | public const string DisplayNameClaimType = "name"; 6 | 7 | public const string NonceClaimType = "nonce"; 8 | 9 | public const string PlayerTagClaimType = "player_tag"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Billing/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipGamesWebApplication.Models; 3 | 4 | namespace WingTipGamesWebApplication.ViewModels.Billing 5 | { 6 | public class IndexViewModel 7 | { 8 | public IEnumerable Orders { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Home/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipGamesWebApplication.Models; 3 | 4 | namespace WingTipGamesWebApplication.ViewModels.Home 5 | { 6 | public class IndexViewModel 7 | { 8 | public IEnumerable NewReleaseGames { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/ViewModels/Home/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipMusicWebApplication.Models; 3 | 4 | namespace WingTipMusicWebApplication.ViewModels.Home 5 | { 6 | public class IndexViewModel 7 | { 8 | public IEnumerable NewReleaseAlbums { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Music/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipGamesWebApplication.Models; 3 | 4 | namespace WingTipGamesWebApplication.ViewModels.Music 5 | { 6 | public class IndexViewModel 7 | { 8 | public IEnumerable NewReleaseAlbums { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Audit/IndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Audit 4 | { 5 | public class IndexViewModel 6 | { 7 | public List AuditEntries { get; set; } 8 | 9 | public int Top { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Activation/RedeemedViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WingTipGamesWebApplication.Models; 3 | 4 | namespace WingTipGamesWebApplication.ViewModels.Activation 5 | { 6 | public class RedeemedViewModel 7 | { 8 | public IEnumerable Games { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/Controllers/ConfigController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace WingTipUserJourneyPlayerWebApplication.Controllers 4 | { 5 | public class ConfigController : Controller 6 | { 7 | public IActionResult Index() 8 | { 9 | return View(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/Controllers/TraceController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace WingTipUserJourneyPlayerWebApplication.Controllers 4 | { 5 | public class TraceController : Controller 6 | { 7 | public IActionResult Index() 8 | { 9 | return View(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Repositories/IGameRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipGamesWebApplication.Models; 4 | 5 | namespace WingTipGamesWebApplication.Repositories 6 | { 7 | public interface IGameRepository 8 | { 9 | Task> GetNewReleaseGamesAsync(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountCheckNonceErrorResponse.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountCheckNonceErrorResponse 4 | { 5 | public string version { get; set; } 6 | 7 | public int status { get; set; } 8 | 9 | public string userMessage { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/TenantUserCountSummaryIndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class TenantUserCountSummaryIndexViewModel 6 | { 7 | public List ReportEntries { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Services/IBillingService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipGamesWebApplication.Models; 4 | 5 | namespace WingTipGamesWebApplication.Services 6 | { 7 | public interface IBillingService 8 | { 9 | Task> GetOrdersAsync(string accessToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Repositories/IAlbumRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipMusicWebApplication.Models; 4 | 5 | namespace WingTipMusicWebApplication.Repositories 6 | { 7 | public interface IAlbumRepository 8 | { 9 | Task> GetNewReleaseAlbumsAsync(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Services/IMusicService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipGamesWebApplication.Models; 4 | 5 | namespace WingTipGamesWebApplication.Services 6 | { 7 | public interface IMusicService 8 | { 9 | Task> GetNewReleaseAlbumsAsync(string accessToken); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CMfaRequestCountSummaryIndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CMfaRequestCountSummaryIndexViewModel 6 | { 7 | public List ReportEntries { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/User/UserViewModel.cs: -------------------------------------------------------------------------------- 1 | using WingTipCommon; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.User 4 | { 5 | public class UserViewModel 6 | { 7 | public string Id { get; set; } 8 | 9 | public string UserName { get; set; } 10 | 11 | public MigrationStatus MigrationStatus { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CUserJourneySummaryEventsIndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CUserJourneySummaryEventsIndexViewModel 6 | { 7 | public List ReportEntries { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Activation/RedeemError.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Activation Redemption Error"; 3 | } 4 |
5 |

Activation redemption error

6 |

The activation link we sent you is invalid or it has expired.

7 |
8 |
9 |

© 2017 - WingTip Toys

10 |
11 |
12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Invitation/RedeemError.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Invitation Redemption Error"; 3 | } 4 |
5 |

Invitation redemption error

6 |

The invitation link we sent you is invalid or it has expired.

7 |
8 |
9 |

© 2017 - WingTip Toys

10 |
11 |
12 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CAuthenticationCountSummaryIndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CAuthenticationCountSummaryIndexViewModel 6 | { 7 | public List ReportEntries { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/IdentityExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Security.Claims; 3 | using System.Security.Principal; 4 | 5 | namespace WingTipToysWebApplication 6 | { 7 | public static class IdentityExtensions 8 | { 9 | public static string GetDisplayName(this IIdentity identity) 10 | { 11 | return identity.Name; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Api/Models/AccountCreateRequest.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipIdentityWebApplication.Api.Models 2 | { 3 | public class AccountCreateRequest 4 | { 5 | public string UserName { get; set; } 6 | 7 | public string Password { get; set; } 8 | 9 | public string DisplayName { get; set; } 10 | 11 | public string PlayerTag { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Identity/WingTipDbContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity.EntityFrameworkCore; 2 | using Microsoft.EntityFrameworkCore; 3 | 4 | namespace WingTipCommon.Identity 5 | { 6 | public class WingTipDbContext : IdentityDbContext 7 | { 8 | public WingTipDbContext(DbContextOptions options) 9 | : base(options) 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Account/LinkError.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Account Link Error"; 3 | } 4 |
5 |

Account link error

6 |

We can't link your WingTip Toys account to your social account because your social account already exists.

7 |
8 |
9 |

© 2017 - WingTip Toys

10 |
11 |
12 | -------------------------------------------------------------------------------- /AzureFunctionsSamples/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | These can be uploaded into Azure Functions directly 4 | 5 | SendMail is sample for sending welcome emails with content 6 | 7 | CalculatePlayerProfilePercentComplete -calculates completion of a profile based on attributes which have been filled by the end user 8 | 9 | LookUpLoyalty and CheckPlayerTag are very simple API to complete the getting started with b2c custom policy and REST API samples 10 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CMfaRequestCountSummaryReportEntryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CMfaRequestCountSummaryReportEntryViewModel 6 | { 7 | public DateTime Date { get; set; } 8 | 9 | public int MfaCount { get; set; } 10 | 11 | public int SmsMfaCount { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AzureFunctionsSamples/SendMailWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /AzureFunctionsSamples/CheckPlayerTagWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /AzureFunctionsSamples/LookUpLoyaltyWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "name": "response", 15 | "direction": "out" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/analytics.js: -------------------------------------------------------------------------------- 1 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 3 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 4 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 5 | 6 | ga('create', 'UA-93368632-1', 'auto'); 7 | ga('send', 'pageview'); 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/SendMailWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Models/Game.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipGamesWebApplication.Models 2 | { 3 | public class Game 4 | { 5 | public decimal DiscountPrice { get; set; } 6 | 7 | public string ImageSource { get; set; } 8 | 9 | public string[] PlayerZones { get; set; } 10 | 11 | public decimal StandardPrice { get; set; } 12 | 13 | public string Title { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/analytics.js: -------------------------------------------------------------------------------- 1 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 3 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 4 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 5 | 6 | ga('create', 'UA-93368632-1', 'auto'); 7 | ga('send', 'pageview'); 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/CheckEmailWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/CheckPlayerTagWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/GenerateTotpWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/VerifyTotpWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Models/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipGamesWebApplication.Models 4 | { 5 | public class Order 6 | { 7 | public string Id { get; set; } 8 | 9 | public DateTime Date { get; set; } 10 | 11 | public string Description { get; set; } 12 | 13 | public string Status { get; set; } 14 | 15 | public decimal TotalPrice { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Configuration/UserControllerOptions.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipToysWebApplication.Configuration 2 | { 3 | public class UserControllerOptions 4 | { 5 | public string ActivationAction { get; set; } 6 | 7 | public string ActivationController { get; set; } 8 | 9 | public string ActivationHost { get; set; } 10 | 11 | public string ActivationKey { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace WingTipBillingWebApplication.Controllers 4 | { 5 | public class HomeController : Controller 6 | { 7 | public IActionResult Index() 8 | { 9 | return View(); 10 | } 11 | 12 | public IActionResult Error() 13 | { 14 | return View(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/CreateAuthyUserWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-appfactor.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $strongAuthenticationAppQRCodeBitmapImage = $('#strongAuthenticationAppQRCodeBitmapImage'); 3 | var $strongAuthenticationAppQRCodeBitmapTextInput = $('#strongAuthenticationAppQRCodeBitmap'); 4 | $strongAuthenticationAppQRCodeBitmapImage.attr('src', 'data:image/png;base64,' + $strongAuthenticationAppQRCodeBitmapTextInput.val()); 5 | $('#attributeList ul li:nth-child(2)').remove(); 6 | }); 7 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-appfactor.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $strongAuthenticationAppQRCodeBitmapImage = $('#strongAuthenticationAppQRCodeBitmapImage'); 3 | var $strongAuthenticationAppQRCodeBitmapTextInput = $('#strongAuthenticationAppQRCodeBitmap'); 4 | $strongAuthenticationAppQRCodeBitmapImage.attr('src', 'data:image/png;base64,' + $strongAuthenticationAppQRCodeBitmapTextInput.val()); 5 | $('#attributeList ul li:nth-child(2)').remove(); 6 | }); 7 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Api/Models/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipBillingWebApplication.Api.Models 4 | { 5 | public class Order 6 | { 7 | public string Id { get; set; } 8 | 9 | public DateTime Date { get; set; } 10 | 11 | public string Description { get; set; } 12 | 13 | public string Status { get; set; } 14 | 15 | public decimal TotalPrice { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/User/ChangePasswordViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.User 4 | { 5 | public class ChangePasswordViewModel 6 | { 7 | [Required] 8 | public string Id { get; set; } 9 | 10 | [Display(Name = "New password")] 11 | [Required] 12 | public string NewPassword { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /AzureFunctionsSamples/CalculatePlayerProfilePercentCompleteWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorderWebApp/Infrastructure/UserJourneyRecorderRouteHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Routing; 3 | 4 | namespace UserJourneyRecorderWebApp.Infrastructure 5 | { 6 | public class UserJourneyRecorderRouteHandler : IRouteHandler 7 | { 8 | public IHttpHandler GetHttpHandler(RequestContext requestContext) 9 | { 10 | return new UserJourneyRecorderHttpHandler(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-appfactor-registration.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $strongAuthenticationAppQRCodeBitmapImage = $('#strongAuthenticationAppQRCodeBitmapImage'); 3 | var $strongAuthenticationAppQRCodeBitmapTextInput = $('#strongAuthenticationAppQRCodeBitmap'); 4 | $strongAuthenticationAppQRCodeBitmapImage.attr('src', 'data:image/png;base64,' + $strongAuthenticationAppQRCodeBitmapTextInput.val()); 5 | $('#attributeList ul li:nth-child(2)').remove(); 6 | }); 7 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-appfactor-registration.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $strongAuthenticationAppQRCodeBitmapImage = $('#strongAuthenticationAppQRCodeBitmapImage'); 3 | var $strongAuthenticationAppQRCodeBitmapTextInput = $('#strongAuthenticationAppQRCodeBitmap'); 4 | $strongAuthenticationAppQRCodeBitmapImage.attr('src', 'data:image/png;base64,' + $strongAuthenticationAppQRCodeBitmapTextInput.val()); 5 | $('#attributeList ul li:nth-child(2)').remove(); 6 | }); 7 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/CalculatePlayerProfilePercentCompleteWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/CreateAndWaitForAuthyApprovalRequestWebHook/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "type": "httpTrigger", 5 | "direction": "in", 6 | "webHookType": "genericJson", 7 | "name": "request", 8 | "methods": [ 9 | "post" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "response" 16 | } 17 | ], 18 | "disabled": false 19 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Invitation/Created.cshtml: -------------------------------------------------------------------------------- 1 | @model WingTipGamesWebApplication.ViewModels.Invitation.CreateViewModel 2 | @{ 3 | ViewData["Title"] = "Claim a free game rental"; 4 | } 5 |
6 |

Claim a free game rental

7 |

We've sent you the invitation link. We hope you enjoy your free game rental.

8 |
9 |
10 |

© 2017 - WingTip Toys

11 |
12 |
13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Repositories/GameRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipGamesWebApplication.Models; 4 | 5 | namespace WingTipGamesWebApplication.Repositories 6 | { 7 | public class GameRepository : IGameRepository 8 | { 9 | public Task> GetNewReleaseGamesAsync() 10 | { 11 | return Task.FromResult(Games.NewReleaseGames); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Repositories/AlbumRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using WingTipMusicWebApplication.Models; 4 | 5 | namespace WingTipMusicWebApplication.Repositories 6 | { 7 | public class AlbumRepository : IAlbumRepository 8 | { 9 | public Task> GetNewReleaseAlbumsAsync() 10 | { 11 | return Task.FromResult(Albums.NewReleaseAlbums); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "JwtBearerAuthentication": { 3 | "Audience": "", 4 | "TenantId": "b2ctechready.onmicrosoft.com" 5 | }, 6 | "Logger": { 7 | "IncludeScopes": false, 8 | "LogLevel": { 9 | "Default": "Warning" 10 | } 11 | }, 12 | "OpenIdConnectAuthentication": { 13 | "ClientId": "", 14 | "ClientSecret": "", 15 | "Scope": "openid profile", 16 | "TenantId": "b2ctechready.onmicrosoft.com" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Models/Album.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipGamesWebApplication.Models 2 | { 3 | public class Album 4 | { 5 | public Artist Artist { get; set; } 6 | 7 | public decimal DiscountPrice { get; set; } 8 | 9 | public string ImageSource { get; set; } 10 | 11 | public string[] ListenerGenres { get; set; } 12 | 13 | public decimal StandardPrice { get; set; } 14 | 15 | public string Title { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Models/Album.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipMusicWebApplication.Models 2 | { 3 | public class Album 4 | { 5 | public Artist Artist { get; set; } 6 | 7 | public decimal DiscountPrice { get; set; } 8 | 9 | public string ImageSource { get; set; } 10 | 11 | public string[] ListenerGenres { get; set; } 12 | 13 | public decimal StandardPrice { get; set; } 14 | 15 | public string Title { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // active-directory-ios-native-appauth-b2c 4 | // 5 | // Created by Saeed Akhter and Gerardo Saca on 3/3/17. 6 | // Copyright © 2017 Microsoft. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorderWebApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | stream 7 | 8 | 9 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ActiveDirectoryAuthentication": { 3 | "ClientId": "", 4 | "ClientSecret": "", 5 | "TenantId": "b2ctechready.onmicrosoft.com" 6 | }, 7 | "BasicAuthentication": { 8 | "ClientId": "", 9 | "ClientSecret": "" 10 | }, 11 | "ConnectionStrings": { 12 | "WingTipB2CDbConnectionString": "" 13 | }, 14 | "Logger": { 15 | "IncludeScopes": false, 16 | "LogLevel": { 17 | "Default": "Warning" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFViewShaker (0.0.4) 3 | - AppAuth (0.9.0) 4 | - BKPasscodeView (0.2.4): 5 | - AFViewShaker (~> 0.0) 6 | 7 | DEPENDENCIES: 8 | - AppAuth 9 | - BKPasscodeView 10 | 11 | SPEC CHECKSUMS: 12 | AFViewShaker: 4296c638c24a037e02727b40d89d8f178df3b3f4 13 | AppAuth: 4fabb6b8068a2e61b914b41071bdbd95da2c9553 14 | BKPasscodeView: 947e3542c126a9fa41c46318759d928919636e96 15 | 16 | PODFILE CHECKSUM: b9ddcd665514d0e999fac9f19015af3c5b3d251c 17 | 18 | COCOAPODS: 1.0.1 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "AzureApplicationInsightsAuthentication": { 3 | "ApplicationId": "", 4 | "ApiKey": "" 5 | }, 6 | "Logger": { 7 | "IncludeScopes": false, 8 | "LogLevel": { 9 | "Default": "Warning" 10 | } 11 | }, 12 | "OpenIdConnectAuthentication": { 13 | "ClientId": "", 14 | "ClientSecret": "", 15 | "RedirectUri": "https://localhost:44334/signin-oidc", 16 | "TenantId": "b2ctechready.onmicrosoft.com" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Generators/PasswordCharacters.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipCommon.Generators 4 | { 5 | [Flags] 6 | public enum PasswordCharacters 7 | { 8 | LowercaseLetters = 0x01, 9 | UppercaseLetters = 0x02, 10 | Digits = 0x04, 11 | Symbols = 0x08, 12 | Space = 0x10, 13 | AllLetters = LowercaseLetters | UppercaseLetters, 14 | Alphanumeric = AllLetters | Digits, 15 | All = AllLetters | Digits | Symbols | Space, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/GameTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // GameTableViewController.h 3 | // active-directory-ios-native-appauth-b2c 4 | // 5 | // Created by John Lyons on 10/4/17. 6 | // Copyright © 2017 Microsoft. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "Games.h" 12 | @interface GameTableViewController : UIViewController{ 13 | 14 | UITableView* myTableView; 15 | Games* allGames; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "templates", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "Gruntfile.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "gulp": "^3.9.1", 9 | "gulp-cli": "^1.4.0", 10 | "gulp-concat": "^2.6.1", 11 | "gulp-cssmin": "^0.2.0", 12 | "gulp-inject": "^4.2.0", 13 | "gulp-remove-code": "^1.0.2" 14 | }, 15 | "scripts": { 16 | "test": "echo \"Error: no test specified\" && exit 1" 17 | }, 18 | "author": "", 19 | "license": "ISC" 20 | } 21 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authorization; 2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace WingTipToysWebApplication.Controllers 5 | { 6 | [Authorize] 7 | public class HomeController : Controller 8 | { 9 | [AllowAnonymous] 10 | public IActionResult Error() 11 | { 12 | return View(); 13 | } 14 | 15 | public IActionResult Index() 16 | { 17 | return View(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/ViewModels/Invitation/CreateViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace WingTipGamesWebApplication.ViewModels.Invitation 4 | { 5 | public class CreateViewModel 6 | { 7 | [Display(Name = "Email address")] 8 | [EmailAddress] 9 | [Required] 10 | public string EmailAddress { get; set; } 11 | 12 | [Display(Name = "Redemption method")] 13 | [Required] 14 | public string RedemptionMethod { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/Games.h: -------------------------------------------------------------------------------- 1 | // 2 | // Games.h 3 | // active-directory-ios-native-appauth-b2c 4 | // 5 | // Created by John Lyons on 10/4/17. 6 | // Copyright © 2017 Microsoft. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | 13 | @interface Games : NSObject{ 14 | 15 | NSArray* gamesList; 16 | 17 | 18 | } 19 | @property (readwrite, retain) NSArray* gamesList; 20 | + (Games *) sharedInstance; 21 | 22 | -(void)loadGames:(NSString*)token; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // active-directory-ios-native-appauth 4 | // 5 | // Created by Saeed Akhter and Gerardo Saca on 3/1/17. 6 | // Copyright © 2017 Microsoft. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "Games.h" 11 | #import "BKPasscodeViewController.h" 12 | 13 | @interface ViewController : UIViewController { 14 | 15 | Games* allGames; 16 | NSString* saveToken; 17 | 18 | } 19 | 20 | 21 | @end 22 | 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/Home/Contact.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Contact"; 3 | } 4 |

@ViewData["Title"].

5 |

@ViewData["Message"]

6 | 7 |
8 | One Microsoft Way
9 | Redmond, WA 98052-6399
10 | P: 11 | 425.555.0100 12 |
13 | 14 |
15 | Support: Support@example.com
16 | Marketing: Marketing@example.com 17 |
18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Services/Location.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace WingTipGamesWebApplication.Services 4 | { 5 | public class Location 6 | { 7 | [JsonProperty("country_code")] 8 | public string CountryCode { get; set; } 9 | 10 | [JsonProperty("country_name")] 11 | public string CountryName { get; set; } 12 | 13 | [JsonProperty("region_code")] 14 | public string RegionCode { get; set; } 15 | 16 | [JsonProperty("region_name")] 17 | public string RegionName { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Services/Location.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace WingTipMusicWebApplication.Services 4 | { 5 | public class Location 6 | { 7 | [JsonProperty("country_code")] 8 | public string CountryCode { get; set; } 9 | 10 | [JsonProperty("country_name")] 11 | public string CountryName { get; set; } 12 | 13 | [JsonProperty("region_code")] 14 | public string RegionCode { get; set; } 15 | 16 | [JsonProperty("region_name")] 17 | public string RegionName { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/active-directory-ios-native-appauth-b2c/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // active-directory-ios-native-appauth 4 | // 5 | // Created by Saeed Akhter and Gerardo Saca on 3/1/17. 6 | // Copyright © 2017 Microsoft. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppAuth.h" 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonnull, strong, nonatomic) UIWindow *window; 15 | @property (nonatomic, strong, nullable) id currentAuthorizationFlow; 16 | 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorderWebApp/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorderWebApp/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Web; 3 | using System.Web.Routing; 4 | using UserJourneyRecorderWebApp.Infrastructure; 5 | 6 | namespace UserJourneyRecorderWebApp 7 | { 8 | public class UserJourneyRecorderWebApplication : HttpApplication 9 | { 10 | protected void Application_Start(object sender, EventArgs e) 11 | { 12 | var routeHandler = new UserJourneyRecorderRouteHandler(); 13 | var route = new Route("stream", routeHandler); 14 | RouteTable.Routes.Add(string.Empty, route); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/AspNetCore/Http/HttpsExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Builder; 3 | 4 | namespace WingTipCommon.AspNetCore.Http 5 | { 6 | public static class HttpsExtensions 7 | { 8 | public static IApplicationBuilder UseHttps(this IApplicationBuilder applicationBuilder) 9 | { 10 | if (applicationBuilder == null) 11 | { 12 | throw new ArgumentNullException(nameof(applicationBuilder)); 13 | } 14 | 15 | return applicationBuilder.UseMiddleware(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Audit/AuditEntryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Audit 4 | { 5 | public class AuditEntryViewModel 6 | { 7 | public string Activity { get; set; } 8 | 9 | public DateTime ActivityDate { get; set; } 10 | 11 | public string ActorName { get; set; } 12 | 13 | public string ActorType { get; set; } 14 | 15 | public string CorrelationId { get; set; } 16 | 17 | public string TargetResourceName { get; set; } 18 | 19 | public string TargetResourceType { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace WingTipGamesWebApplication 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var webHost = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseApplicationInsights() 16 | .Build(); 17 | 18 | webHost.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace WingTipMusicWebApplication 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var webHost = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseApplicationInsights() 16 | .Build(); 17 | 18 | webHost.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace WingTipToysWebApplication 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var webHost = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseApplicationInsights() 16 | .Build(); 17 | 18 | webHost.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace WingTipBillingWebApplication 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var webHost = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseApplicationInsights() 16 | .Build(); 17 | 18 | webHost.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "JwtBearerAuthentication": { 3 | "Audience": "", 4 | "MetadataAddress": "https://login.microsoftonline.com/b2ctechready.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1a_step_up" 5 | }, 6 | "Logger": { 7 | "IncludeScopes": false, 8 | "LogLevel": { 9 | "Default": "Warning" 10 | } 11 | }, 12 | "Saml2": { 13 | "IdPMetadataUrl": "https://login.microsoftonline.com/te/b2ctechready.onmicrosoft.com/b2c_1a_sign_in_billing/samlp/metadata", 14 | "Issuer": "https://login.microsoftonline.com/te/b2ctechready.onmicrosoft.com/b2c_1a_sign_in_billing" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace WingTipUserJourneyPlayerWebApplication 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var webHost = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseApplicationInsights() 16 | .Build(); 17 | 18 | webHost.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CUserJourneySummaryEventsReportEntryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CUserJourneySummaryEventsReportEntryViewModel 6 | { 7 | public string BasePolicyUniqueId { get; set; } 8 | 9 | public int CallerErrorCount { get; set; } 10 | 11 | public int FailureCount { get; set; } 12 | 13 | public int Id { get; set; } 14 | 15 | public string ResourceId { get; set; } 16 | 17 | public int SuccessCount { get; set; } 18 | 19 | public string UserJourneyId { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Builder; 3 | using Microsoft.AspNetCore.Hosting; 4 | 5 | namespace WingTipIdentityWebApplication 6 | { 7 | public class Program 8 | { 9 | public static void Main(string[] args) 10 | { 11 | var webHost = new WebHostBuilder() 12 | .UseKestrel() 13 | .UseContentRoot(Directory.GetCurrentDirectory()) 14 | .UseIISIntegration() 15 | .UseStartup() 16 | .UseApplicationInsights() 17 | .Build(); 18 | 19 | webHost.Run(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/TenantUserCountSummaryReportEntryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class TenantUserCountSummaryReportEntryViewModel 6 | { 7 | public int AmazonExternalUserCount { get; set; } 8 | 9 | public DateTime Date { get; set; } 10 | 11 | public int ExternalUserCount { get; set; } 12 | 13 | public int FacebookExternalUserCount { get; set; } 14 | 15 | public int InternalUserCount { get; set; } 16 | 17 | public int LocalUserCount { get; set; } 18 | 19 | public int TotalUserCount { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/User/CreateViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.User 4 | { 5 | public class CreateViewModel 6 | { 7 | [Display(Name = "User name")] 8 | [Required] 9 | public string UserName { get; set; } 10 | 11 | [Display(Name = "Password")] 12 | [Required] 13 | public string Password { get; set; } 14 | 15 | [Display(Name = "Display name")] 16 | [Required] 17 | public string DisplayName { get; set; } 18 | 19 | [Display(Name = "Player tag")] 20 | public string PlayerTag { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/ViewModels/Report/B2CAuthenticationCountSummaryReportEntryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WingTipToysWebApplication.ViewModels.Report 4 | { 5 | public class B2CAuthenticationCountSummaryReportEntryViewModel 6 | { 7 | public int AuthenticationCount { get; set; } 8 | 9 | public DateTime Date { get; set; } 10 | 11 | public int AuthorizationCodeAsConfidentialClientAuthenticationCount { get; set; } 12 | 13 | public int AuthorizationCodeAsPublicClientAuthenticationCount { get; set; } 14 | 15 | public int HybridAuthenticationCount { get; set; } 16 | 17 | public int ImplicitAuthenticationCount { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optionally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optionally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/User/ChangePassword.cshtml: -------------------------------------------------------------------------------- 1 | @model WingTipToysWebApplication.ViewModels.User.ChangePasswordViewModel 2 | @{ 3 | ViewData["Title"] = "Change User Password"; 4 | } 5 |

Change User Password

6 |
7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | Cancel 15 |
16 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optionally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 |

Error.

5 |

An error occurred while processing your request.

6 |

Development Mode

7 |

8 | Swapping to Development environment will display more detailed information about the error that occurred. 9 |

10 |

11 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 12 |

13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 |

Error.

5 |

An error occurred while processing your request.

6 |

Development Mode

7 |

8 | Swapping to Development environment will display more detailed information about the error that occurred. 9 |

10 |

11 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 12 |

13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 |

Error.

5 |

An error occurred while processing your request.

6 |

Development Mode

7 |

8 | Swapping to Development environment will display more detailed information about the error that occurred. 9 |

10 |

11 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 12 |

13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 |

Error.

5 |

An error occurred while processing your request.

6 |

Development Mode

7 |

8 | Swapping to Development environment will display more detailed information about the error that occurred. 9 |

10 |

11 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 12 |

13 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Activation": { 3 | "Action": "Redeem", 4 | "Controller": "Activation", 5 | "Host": "localhost:44388", 6 | "Key": "" 7 | }, 8 | "ConnectionStrings": { 9 | "WingTipB2CDbConnectionString": "" 10 | }, 11 | "Logger": { 12 | "IncludeScopes": false, 13 | "LogLevel": { 14 | "Default": "Warning" 15 | } 16 | }, 17 | "OpenIdConnectAuthentication": { 18 | "ClientId": "", 19 | "ClientSecret": "", 20 | "RedirectUri": "https://localhost:44397/signin-oidc", 21 | "Resource": "https://graph.windows.net", 22 | "TenantId": "b2ctechready.onmicrosoft.com" 23 | }, 24 | "SendGridSmtpService": { 25 | "Host": "smtp.sendgrid.net", 26 | "Port": 587, 27 | "User": "", 28 | "Pass": "" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Services/IAuthenticationService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Microsoft.IdentityModel.Clients.ActiveDirectory; 4 | 5 | namespace WingTipCommon.Services 6 | { 7 | public interface IAuthenticationService 8 | { 9 | Task AcquireTokenAsync(string resource, ClientCredential clientCredential); 10 | 11 | Task AcquireTokenAsync( 12 | string resource, 13 | string clientId, 14 | Uri redirectUri, 15 | string userId); 16 | 17 | Task AcquireTokenByAuthorizationCodeAsync( 18 | string authorizationCode, 19 | Uri redirectUri, 20 | ClientCredential clientCredential, 21 | string resource); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/IdentityExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Security.Claims; 3 | using System.Security.Principal; 4 | 5 | namespace WingTipBillingWebApplication 6 | { 7 | public static class IdentityExtensions 8 | { 9 | public static string GetDisplayName(this IIdentity identity) 10 | { 11 | return GetClaimValue(identity, ClaimTypes.Name); 12 | } 13 | 14 | private static string GetClaimValue(IIdentity identity, string claimType) 15 | { 16 | if (identity == null) 17 | { 18 | throw new ArgumentNullException(nameof(identity)); 19 | } 20 | 21 | var claimsIdentity = identity as ClaimsIdentity; 22 | return claimsIdentity?.FindFirst(claimType)?.Value; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/HtmlHelpers/NavbarHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc.Rendering; 3 | 4 | namespace WingTipGamesWebApplication.HtmlHelpers 5 | { 6 | public static class NavbarHelper 7 | { 8 | public static string ActiveNavbarItem(this IHtmlHelper htmlHelper, string expectedController) 9 | { 10 | if (htmlHelper == null) 11 | { 12 | throw new ArgumentNullException("htmlHelper"); 13 | } 14 | 15 | var actualController = htmlHelper.ViewContext.RouteData.Values["controller"].ToString(); 16 | 17 | if (actualController.Equals(expectedController, StringComparison.OrdinalIgnoreCase)) 18 | { 19 | return "active"; 20 | } 21 | 22 | return null; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/HtmlHelpers/NavbarHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc.Rendering; 3 | 4 | namespace WingTipMusicWebApplication.HtmlHelpers 5 | { 6 | public static class NavbarHelper 7 | { 8 | public static string ActiveNavbarItem(this IHtmlHelper htmlHelper, string expectedController) 9 | { 10 | if (htmlHelper == null) 11 | { 12 | throw new ArgumentNullException("htmlHelper"); 13 | } 14 | 15 | var actualController = htmlHelper.ViewContext.RouteData.Values["controller"].ToString(); 16 | 17 | if (actualController.Equals(expectedController, StringComparison.OrdinalIgnoreCase)) 18 | { 19 | return "active"; 20 | } 21 | 22 | return null; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UserJourneyRecorder/README.md: -------------------------------------------------------------------------------- 1 | Azure AD B2C can log activity data into Azure Application Insights for the purposes of troubleshooting during development. 2 | https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/active-directory-b2c/active-directory-b2c-troubleshoot-custom.md 3 | 4 | The article added here (.docx) also explains how to use a sample to deploy a simple web service that will enhance the visualization of the troubleshooting output, it is called the userjourney recorder. 5 | 6 | The userjourney recorder version in this folder is the generic sample. 7 | 8 | A different version of the userjourney recorder, adapted to read B2C logs in Application Insights, can be found here as part of the wingtiptoys project. See article for details: 9 | 10 | https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/tree/master/wingtipgamesb2c/src/WingTipUserJourneyPlayerWebApplication 11 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Azure samples 2 | 3 | Thank you for your interest in contributing to Azure samples! 4 | 5 | ## Ways to contribute 6 | 7 | You can contribute to [Azure samples](https://azure.microsoft.com/documentation/samples/) in a few different ways: 8 | 9 | - Submit feedback on [this sample page](https://azure.microsoft.com/documentation/samples/active-directory-b2c-advanced-policies/) whether it was helpful or not. 10 | - Submit issues through [issue tracker](https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/issues) on GitHub. We are actively monitoring the issues and improving our samples. 11 | - If you wish to make code changes to samples, or contribute something new, please follow the [GitHub Forks / Pull requests model](https://help.github.com/articles/fork-a-repo/): Fork the sample repo, make the change and propose it back by submitting a pull request. -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace WingTipBillingWebApplication 2 | { 3 | public static class Constants 4 | { 5 | public static class AuthenticationSchemes 6 | { 7 | public const string Bearer = "Bearer"; 8 | } 9 | 10 | public static class AuthorizationPolicies 11 | { 12 | public const string ReadBilling = "ReadBilling"; 13 | } 14 | 15 | public static class PolicyIds 16 | { 17 | public const string Link = "b2c_1a_link"; 18 | 19 | public const string PasswordReset = "b2c_1a_password_reset"; 20 | 21 | public const string ProfileUpdate = "b2c_1a_profile_update_games"; 22 | 23 | public const string SignUpOrSignIn = "b2c_1a_sign_up_sign_in_games"; 24 | 25 | public const string StepUp = "b2c_1a_step_up"; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Report/B2CMfaRequestCountSummaryIndex.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "MFA Request Count Summary Report"; 3 | } 4 |

MFA Request Count Summary Report

5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | @foreach (var reportEntryViewModel in Model.ReportEntries) 16 | { 17 | 18 | 19 | 20 | 21 | 22 | } 23 | 24 |
DateMFA Request CountSMS
@reportEntryViewModel.Date@reportEntryViewModel.MfaCount@reportEntryViewModel.SmsMfaCount
25 |
26 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Wrapping element */ 7 | /* Set some basic padding to keep content from hitting the edges */ 8 | .body-content { 9 | padding-left: 15px; 10 | padding-right: 15px; 11 | } 12 | 13 | /* Set widths on the form inputs since otherwise they're 100% wide */ 14 | input, 15 | select, 16 | textarea { 17 | max-width: 280px; 18 | } 19 | 20 | /* Carousel */ 21 | .carousel-caption p { 22 | font-size: 20px; 23 | line-height: 1.4; 24 | } 25 | 26 | /* Make .svg files in the carousel display properly in older browsers */ 27 | .carousel-inner .item img[src$=".svg"] { 28 | width: 100%; 29 | } 30 | 31 | /* Hide/rearrange for smaller screens */ 32 | @media screen and (max-width: 767px) { 33 | /* Hide captions */ 34 | .carousel-caption { 35 | display: none; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Invitation/Redeemed.cshtml: -------------------------------------------------------------------------------- 1 | @model WingTipGamesWebApplication.ViewModels.Invitation.RedeemedViewModel 2 | @{ 3 | ViewData["Title"] = "You've claimed your free game rental"; 4 | } 5 |
6 |

You've claimed your free game rental

7 |

We hope you enjoy this game rental.

8 |
9 |
10 |
11 | @Model.Game.Title 12 |
@Model.Game.Title
13 |

14 | Rent free 15 |

16 |
17 |
18 |
19 |
20 |
21 |

© 2017 - WingTip Toys

22 |
23 |
-------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/Services/IGraphService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace WingTipCommon.Services 5 | { 6 | public interface IGraphService 7 | { 8 | Task CreateUserAsync( 9 | string userName, 10 | string password, 11 | string displayName, 12 | string activationStatus, 13 | string playerTag, 14 | string termsOfServiceConsented); 15 | 16 | Task DeleteUserAsync(string userName); 17 | 18 | Task GetAuditAsync(string activityType, int top, string userId); 19 | 20 | Task GetReportAsync(string reportType, string userId); 21 | 22 | Task ResetAsync(string userName); 23 | 24 | Task SetUserActivationStatusAsync(string userName, string activationStatus); 25 | 26 | Task SetUserPasswordAsync(string userName, string password); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/demo.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/demo.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/css/site.min.css", 13 | // An array of relative input file paths. Globbing patterns supported 14 | "inputFiles": [ 15 | "wwwroot/css/site.css" 16 | ] 17 | }, 18 | { 19 | "outputFileName": "wwwroot/js/site.min.js", 20 | "inputFiles": [ 21 | "wwwroot/js/site.js" 22 | ], 23 | // Optionally specify minification options 24 | "minify": { 25 | "enabled": true, 26 | "renameLocals": true 27 | }, 28 | // Optionally generate .map file 29 | "sourceMap": false 30 | } 31 | ] 32 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/demo.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/demo.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/css/site.min.css", 13 | // An array of relative input file paths. Globbing patterns supported 14 | "inputFiles": [ 15 | "wwwroot/css/site.css" 16 | ] 17 | }, 18 | { 19 | "outputFileName": "wwwroot/js/site.min.js", 20 | "inputFiles": [ 21 | "wwwroot/js/site.js" 22 | ], 23 | // Optionally specify minification options 24 | "minify": { 25 | "enabled": true, 26 | "renameLocals": true 27 | }, 28 | // Optionally generate .map file 29 | "sourceMap": false 30 | } 31 | ] 32 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Identity/Saml2/FixedSaml2AuthnResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using ITfoxtec.Identity.Saml2; 3 | 4 | namespace WingTipBillingWebApplication.Identity.Saml2 5 | { 6 | public class FixedSaml2AuthnResponse : Saml2AuthnResponse 7 | { 8 | public FixedSaml2AuthnResponse(Saml2Configuration configuration) 9 | : base(configuration) 10 | { 11 | } 12 | 13 | protected override XmlElement GetAssertionElement() 14 | { 15 | var assertionElements = XmlDocument.DocumentElement.SelectNodes("//*[local-name()='Assertion']"); 16 | 17 | if (assertionElements.Count == 0) 18 | { 19 | return null; 20 | } 21 | 22 | var assertionElement = assertionElements[0] as XmlElement; 23 | var assertionDocument = new XmlDocument(); 24 | assertionDocument.LoadXml(assertionElement.OuterXml); 25 | return assertionDocument.DocumentElement; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-playerprofileregistration-full.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_registration_full_container #attributeList ul li:nth-child(6)'); 10 | 11 | $marketingConsentedCheckboxInput.click(function () { 12 | var $this = $(this); 13 | 14 | if ($this.is(':checked')) { 15 | $marketingConsentedTextInput.val('true'); 16 | $marketingFrequencyListItem.show('fast'); 17 | } else { 18 | $marketingConsentedTextInput.val('false'); 19 | $marketingFrequencyListItem.hide('fast'); 20 | } 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-playerprofileregistration-basic.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_registration_basic_container #attributeList ul li:nth-child(3)'); 10 | 11 | $marketingConsentedCheckboxInput.click(function () { 12 | var $this = $(this); 13 | 14 | if ($this.is(':checked')) { 15 | $marketingConsentedTextInput.val('true'); 16 | $marketingFrequencyListItem.show('fast'); 17 | } else { 18 | $marketingConsentedTextInput.val('false'); 19 | $marketingFrequencyListItem.hide('fast'); 20 | } 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-playerprofileregistration-full.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_registration_full_container #attributeList ul li:nth-child(6)'); 10 | 11 | $marketingConsentedCheckboxInput.click(function () { 12 | var $this = $(this); 13 | 14 | if ($this.is(':checked')) { 15 | $marketingConsentedTextInput.val('true'); 16 | $marketingFrequencyListItem.show('fast'); 17 | } else { 18 | $marketingConsentedTextInput.val('false'); 19 | $marketingFrequencyListItem.hide('fast'); 20 | } 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-playerprofileregistration-basic.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_registration_basic_container #attributeList ul li:nth-child(3)'); 10 | 11 | $marketingConsentedCheckboxInput.click(function () { 12 | var $this = $(this); 13 | 14 | if ($this.is(':checked')) { 15 | $marketingConsentedTextInput.val('true'); 16 | $marketingFrequencyListItem.show('fast'); 17 | } else { 18 | $marketingConsentedTextInput.val('false'); 19 | $marketingFrequencyListItem.hide('fast'); 20 | } 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipCommon/AspNetCore/Http/HttpsMiddleware.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Microsoft.AspNetCore.Http; 4 | 5 | namespace WingTipCommon.AspNetCore.Http 6 | { 7 | public class HttpsMiddleware 8 | { 9 | private readonly RequestDelegate _next; 10 | 11 | public HttpsMiddleware(RequestDelegate next) 12 | { 13 | _next = next; 14 | } 15 | 16 | public async Task Invoke(HttpContext context) 17 | { 18 | if (context == null) 19 | { 20 | throw new ArgumentNullException(nameof(context)); 21 | } 22 | 23 | var request = context.Request; 24 | 25 | if (!request.IsHttps) 26 | { 27 | var location = "https://" + request.Host + request.Path + request.QueryString; 28 | context.Response.Redirect(location); 29 | } 30 | else 31 | { 32 | await _next(context); 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Identity/ClaimsPrincipalHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | 4 | namespace WingTipBillingWebApplication.Identity 5 | { 6 | public static class ClaimsPrincipalHelper 7 | { 8 | public static ClaimsPrincipal Transform(ClaimsPrincipal principal) 9 | { 10 | if (principal.Identity.IsAuthenticated) 11 | { 12 | var claims = new List(); 13 | claims.AddRange(principal.Claims); 14 | 15 | var identity = new ClaimsIdentity( 16 | claims, 17 | principal.Identity.AuthenticationType, 18 | ClaimTypes.Name, 19 | ClaimTypes.Role) 20 | { 21 | BootstrapContext = ((ClaimsIdentity)principal.Identity).BootstrapContext 22 | }; 23 | 24 | return new ClaimsPrincipal(identity); 25 | } 26 | 27 | return principal; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Activation": { 3 | "Key": "" 4 | }, 5 | "FreeGeoIpGeolocationService": { 6 | "ApiKey": "", 7 | "BaseUrl": "http://api.ipstack.com", 8 | "Format": "1" 9 | }, 10 | "Invitation": { 11 | "Key": "" 12 | }, 13 | "JwtBearerAuthentication": { 14 | "Audience": "", 15 | "MetadataAddress": "https://login.microsoftonline.com/b2ctechready.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1a_step_up" 16 | }, 17 | "Logger": { 18 | "IncludeScopes": false, 19 | "LogLevel": { 20 | "Default": "Warning" 21 | } 22 | }, 23 | "OpenIdConnectAuthentication": { 24 | "ClientId": "", 25 | "ClientSecret": "", 26 | "Scope": "openid profile https://b2ctechready.onmicrosoft.com/wingtipb2c/Billing.Read https://b2ctechready.onmicrosoft.com/wingtipb2c/Music.Read", 27 | "TenantId": "b2ctechready.onmicrosoft.com" 28 | }, 29 | "SendGridSmtpService": { 30 | "Host": "smtp.sendgrid.net", 31 | "Port": 587, 32 | "User": "", 33 | "Pass": "" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Services/FreeGeoIpGeolocationService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http; 3 | using System.Threading.Tasks; 4 | using Newtonsoft.Json; 5 | 6 | namespace WingTipMusicWebApplication.Services 7 | { 8 | public class FreeGeoIpGeolocationService : IGeolocationService 9 | { 10 | public async Task GetLocationAsync(string ipAddress) 11 | { 12 | if (string.IsNullOrEmpty(ipAddress)) 13 | { 14 | throw new ArgumentNullException(nameof(ipAddress)); 15 | } 16 | 17 | using (var client = new HttpClient()) 18 | { 19 | var requestUri = $"http://freegeoip.net/json/{ipAddress}"; 20 | var response = await client.GetAsync(requestUri); 21 | response.EnsureSuccessStatusCode(); 22 | var responseContentAsString = await response.Content.ReadAsStringAsync(); 23 | return JsonConvert.DeserializeObject(responseContentAsString); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipIdentityWebApplication/Authentication/BasicAuthenticationExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Builder; 3 | 4 | namespace WingTipIdentityWebApplication.Authentication 5 | { 6 | public static class BasicAuthenticationExtensions 7 | { 8 | public static IApplicationBuilder UseBasicAuthentication(this IApplicationBuilder applicationBuilder, string clientId, string clientSecret) 9 | { 10 | if (applicationBuilder == null) 11 | { 12 | throw new ArgumentNullException(nameof(applicationBuilder)); 13 | } 14 | 15 | if (string.IsNullOrEmpty(clientId)) 16 | { 17 | throw new ArgumentNullException(nameof(clientId)); 18 | } 19 | 20 | if (string.IsNullOrEmpty(clientSecret)) 21 | { 22 | throw new ArgumentNullException(nameof(clientSecret)); 23 | } 24 | 25 | return applicationBuilder.UseMiddleware(clientId, clientSecret); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipFunctionsApplication/Web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/jquery-validation/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.14.0", 31 | "_release": "1.14.0", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.14.0", 35 | "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" 36 | }, 37 | "_source": "git://github.com/jzaefferer/jquery-validation.git", 38 | "_target": ">=1.8", 39 | "_originalSource": "jquery-validation" 40 | } -------------------------------------------------------------------------------- /UserJourneyRecorder/UserJourneyRecorder.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25123.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserJourneyRecorderWebApp", "UserJourneyRecorderWebApp\UserJourneyRecorderWebApp.csproj", "{574DDB74-36FD-460B-8E35-A7B0F539015D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {574DDB74-36FD-460B-8E35-A7B0F539015D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {574DDB74-36FD-460B-8E35-A7B0F539015D}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {574DDB74-36FD-460B-8E35-A7B0F539015D}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {574DDB74-36FD-460B-8E35-A7B0F539015D}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/jquery-validation/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.14.0", 31 | "_release": "1.14.0", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.14.0", 35 | "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" 36 | }, 37 | "_source": "git://github.com/jzaefferer/jquery-validation.git", 38 | "_target": ">=1.8", 39 | "_originalSource": "jquery-validation" 40 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/jquery-validation/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.14.0", 31 | "_release": "1.14.0", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.14.0", 35 | "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" 36 | }, 37 | "_source": "git://github.com/jzaefferer/jquery-validation.git", 38 | "_target": ">=1.8", 39 | "_originalSource": "jquery-validation" 40 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/jquery-validation/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.14.0", 31 | "_release": "1.14.0", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.14.0", 35 | "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" 36 | }, 37 | "_source": "git://github.com/jzaefferer/jquery-validation.git", 38 | "_target": ">=1.8", 39 | "_originalSource": "jquery-validation" 40 | } -------------------------------------------------------------------------------- /account-linking/PROFILEEDIT.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | yourtenant5.onmicrosoft.com 13 | B2C_1A_TrustFrameworkExtensions 14 | 15 | 16 | 17 | 18 | 19 | PolicyProfile 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Microsoft Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/HtmlHelpers/NavbarHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc.Rendering; 3 | 4 | namespace WingTipToysWebApplication.HtmlHelpers 5 | { 6 | public static class NavbarHelper 7 | { 8 | public static string ActiveNavbarItem(this IHtmlHelper htmlHelper, string expectedController, string expectedAction) 9 | { 10 | if (htmlHelper == null) 11 | { 12 | throw new ArgumentNullException("htmlHelper"); 13 | } 14 | 15 | var actualController = htmlHelper.ViewContext.RouteData.Values["controller"].ToString(); 16 | 17 | if (!actualController.Equals(expectedController, StringComparison.OrdinalIgnoreCase)) 18 | { 19 | return null; 20 | } 21 | 22 | var actualAction = htmlHelper.ViewContext.RouteData.Values["action"].ToString(); 23 | 24 | if (!actualAction.Equals(expectedAction, StringComparison.OrdinalIgnoreCase)) 25 | { 26 | return null; 27 | } 28 | 29 | return "active"; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | }, 34 | "version": "3.3.7", 35 | "_release": "3.3.7", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.7", 39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 40 | }, 41 | "_source": "https://github.com/twbs/bootstrap.git", 42 | "_target": "v3.3.7", 43 | "_originalSource": "bootstrap", 44 | "_direct": true 45 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | }, 34 | "version": "3.3.7", 35 | "_release": "3.3.7", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.7", 39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 40 | }, 41 | "_source": "https://github.com/twbs/bootstrap.git", 42 | "_target": "v3.3.7", 43 | "_originalSource": "bootstrap", 44 | "_direct": true 45 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | }, 34 | "version": "3.3.7", 35 | "_release": "3.3.7", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.7", 39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 40 | }, 41 | "_source": "https://github.com/twbs/bootstrap.git", 42 | "_target": "v3.3.7", 43 | "_originalSource": "bootstrap", 44 | "_direct": true 45 | } -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | }, 34 | "version": "3.3.7", 35 | "_release": "3.3.7", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.7", 39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 40 | }, 41 | "_source": "https://github.com/twbs/bootstrap.git", 42 | "_target": "v3.3.7", 43 | "_originalSource": "bootstrap", 44 | "_direct": true 45 | } -------------------------------------------------------------------------------- /account-linking/PASSWORDRESET.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | yourtenant5.onmicrosoft.com 13 | B2C_1A_TrustFrameworkExtensions 14 | 15 | 16 | 17 | 18 | 19 | PolicyProfile 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Filters/CultureFilterAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc; 3 | using Microsoft.AspNetCore.Mvc.Filters; 4 | 5 | namespace WingTipGamesWebApplication.Filters 6 | { 7 | public class CultureFilterAttribute : ActionFilterAttribute 8 | { 9 | public override void OnActionExecuted(ActionExecutedContext context) 10 | { 11 | if (context == null) 12 | { 13 | throw new ArgumentNullException(nameof(context)); 14 | } 15 | 16 | base.OnActionExecuted(context); 17 | var viewResult = context.Result as ViewResult; 18 | 19 | if (viewResult != null) 20 | { 21 | var currentCulture = string.Empty; 22 | 23 | if (context.HttpContext.Request.Cookies.ContainsKey(Constants.CookieNames.CurrentLocale)) 24 | { 25 | currentCulture = context.HttpContext.Request.Cookies[Constants.CookieNames.CurrentLocale]; 26 | } 27 | 28 | viewResult.ViewData[Constants.ViewDataKeys.CurrentCulture] = currentCulture; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Filters/CultureFilterAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc; 3 | using Microsoft.AspNetCore.Mvc.Filters; 4 | 5 | namespace WingTipMusicWebApplication.Filters 6 | { 7 | public class CultureFilterAttribute : ActionFilterAttribute 8 | { 9 | public override void OnActionExecuted(ActionExecutedContext context) 10 | { 11 | if (context == null) 12 | { 13 | throw new ArgumentNullException(nameof(context)); 14 | } 15 | 16 | base.OnActionExecuted(context); 17 | var viewResult = context.Result as ViewResult; 18 | 19 | if (viewResult != null) 20 | { 21 | var currentCulture = string.Empty; 22 | 23 | if (context.HttpContext.Request.Cookies.ContainsKey(Constants.CookieNames.CurrentLocale)) 24 | { 25 | currentCulture = context.HttpContext.Request.Cookies[Constants.CookieNames.CurrentLocale]; 26 | } 27 | 28 | viewResult.ViewData[Constants.ViewDataKeys.CurrentCulture] = currentCulture; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Filters/LocationFilterAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc; 3 | using Microsoft.AspNetCore.Mvc.Filters; 4 | 5 | namespace WingTipGamesWebApplication.Filters 6 | { 7 | public class LocationFilterAttribute : ActionFilterAttribute 8 | { 9 | public override void OnActionExecuted(ActionExecutedContext context) 10 | { 11 | if (context == null) 12 | { 13 | throw new ArgumentNullException(nameof(context)); 14 | } 15 | 16 | base.OnActionExecuted(context); 17 | var viewResult = context.Result as ViewResult; 18 | 19 | if (viewResult != null) 20 | { 21 | var currentLocation = string.Empty; 22 | 23 | if (context.HttpContext.Request.Cookies.ContainsKey(Constants.CookieNames.CurrentLocation)) 24 | { 25 | currentLocation = context.HttpContext.Request.Cookies[Constants.CookieNames.CurrentLocation]; 26 | } 27 | 28 | viewResult.ViewData[Constants.ViewDataKeys.CurrentLocation] = currentLocation; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Filters/LocationFilterAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.AspNetCore.Mvc; 3 | using Microsoft.AspNetCore.Mvc.Filters; 4 | 5 | namespace WingTipMusicWebApplication.Filters 6 | { 7 | public class LocationFilterAttribute : ActionFilterAttribute 8 | { 9 | public override void OnActionExecuted(ActionExecutedContext context) 10 | { 11 | if (context == null) 12 | { 13 | throw new ArgumentNullException(nameof(context)); 14 | } 15 | 16 | base.OnActionExecuted(context); 17 | var viewResult = context.Result as ViewResult; 18 | 19 | if (viewResult != null) 20 | { 21 | var currentLocation = string.Empty; 22 | 23 | if (context.HttpContext.Request.Cookies.ContainsKey(Constants.CookieNames.CurrentLocation)) 24 | { 25 | currentLocation = context.HttpContext.Request.Cookies[Constants.CookieNames.CurrentLocation]; 26 | } 27 | 28 | viewResult.ViewData[Constants.ViewDataKeys.CurrentLocation] = currentLocation; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/MigrationStatusExtensions.cs: -------------------------------------------------------------------------------- 1 | using WingTipCommon; 2 | 3 | namespace WingTipToysWebApplication 4 | { 5 | public static class MigrationStatusExtensions 6 | { 7 | public static string ToDisplayString(this MigrationStatus migrationStatus) 8 | { 9 | switch (migrationStatus) 10 | { 11 | case MigrationStatus.New: 12 | { 13 | return "New"; 14 | } 15 | 16 | case MigrationStatus.NotMigrated: 17 | { 18 | return "Not migrated"; 19 | } 20 | 21 | case MigrationStatus.MigratedWithoutPassword: 22 | { 23 | return "Migrated without password"; 24 | } 25 | 26 | case MigrationStatus.MigratedWithPassword: 27 | { 28 | return "Migrated with password"; 29 | } 30 | 31 | default: 32 | { 33 | return "Unknown"; 34 | } 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-playerprofileupdate.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | $marketingConsentedCheckboxInput.prop('checked', $marketingConsentedTextInput.val() === 'true'); 10 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_update_container #attributeList ul li:nth-child(6)'); 11 | 12 | if ($marketingConsentedCheckboxInput.prop('checked')) { 13 | $marketingFrequencyListItem.show(); 14 | } 15 | 16 | $marketingConsentedCheckboxInput.click(function () { 17 | var $this = $(this); 18 | 19 | if ($this.is(':checked')) { 20 | $marketingConsentedTextInput.val('true'); 21 | $marketingFrequencyListItem.show('fast'); 22 | } else { 23 | $marketingConsentedTextInput.val('false'); 24 | $marketingFrequencyListItem.hide('fast'); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-playerprofileupdate.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | $marketingConsentedCheckboxInput.prop('checked', $marketingConsentedTextInput.val() === 'true'); 10 | var $marketingFrequencyListItem = $('.self_asserted_player_profile_update_container #attributeList ul li:nth-child(6)'); 11 | 12 | if ($marketingConsentedCheckboxInput.prop('checked')) { 13 | $marketingFrequencyListItem.show(); 14 | } 15 | 16 | $marketingConsentedCheckboxInput.click(function () { 17 | var $this = $(this); 18 | 19 | if ($this.is(':checked')) { 20 | $marketingConsentedTextInput.val('true'); 21 | $marketingFrequencyListItem.show('fast'); 22 | } else { 23 | $marketingConsentedTextInput.val('false'); 24 | $marketingFrequencyListItem.hide('fast'); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/dist/js/selfasserted-listenerprofileupdate.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | $marketingConsentedCheckboxInput.prop('checked', $marketingConsentedTextInput.val() === 'true'); 10 | var $marketingFrequencyListItem = $('.self_asserted_listener_profile_update_container #attributeList ul li:nth-child(3)'); 11 | 12 | if ($marketingConsentedCheckboxInput.prop('checked')) { 13 | $marketingFrequencyListItem.show(); 14 | } 15 | 16 | $marketingConsentedCheckboxInput.click(function () { 17 | var $this = $(this); 18 | 19 | if ($this.is(':checked')) { 20 | $marketingConsentedTextInput.val('true'); 21 | $marketingFrequencyListItem.show('fast'); 22 | } else { 23 | $marketingConsentedTextInput.val('false'); 24 | $marketingFrequencyListItem.hide('fast'); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /wingtipgamesb2c/Templates/src/js/selfasserted-listenerprofileupdate.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var $marketingConsentedTextInput = $('#extension_MarketingConsented'); 3 | 4 | $marketingConsentedTextInput.before(function () { 5 | return ''; 6 | }); 7 | 8 | var $marketingConsentedCheckboxInput = $('#extension_MarketingConsented_true'); 9 | $marketingConsentedCheckboxInput.prop('checked', $marketingConsentedTextInput.val() === 'true'); 10 | var $marketingFrequencyListItem = $('.self_asserted_listener_profile_update_container #attributeList ul li:nth-child(3)'); 11 | 12 | if ($marketingConsentedCheckboxInput.prop('checked')) { 13 | $marketingFrequencyListItem.show(); 14 | } 15 | 16 | $marketingConsentedCheckboxInput.click(function () { 17 | var $this = $(this); 18 | 19 | if ($this.is(':checked')) { 20 | $marketingConsentedTextInput.val('true'); 21 | $marketingFrequencyListItem.show('fast'); 22 | } else { 23 | $marketingConsentedTextInput.val('false'); 24 | $marketingFrequencyListItem.hide('fast'); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Billing/Index.cshtml: -------------------------------------------------------------------------------- 1 | @model WingTipGamesWebApplication.ViewModels.Billing.IndexViewModel 2 | @{ 3 | ViewData["Title"] = "Billing"; 4 | } 5 |
6 |

Order history

7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | @foreach (var order in Model.Orders) 19 | { 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | } 28 | 29 |
#DateDescriptionStatusTotal price
@order.Id@order.Date.ToString("d")@order.Description@order.Status$@order.TotalPrice
30 | See more 31 |
32 |
33 |

© 2017 - WingTip Toys

34 |
35 |
36 | -------------------------------------------------------------------------------- /AppSamples-iOS-TouchID-master/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Audit/UserIndex.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "User Audit"; 3 | } 4 |

User Audit

5 |

Latest @Model.Top activities

6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | @foreach (var auditEntryViewModel in Model.AuditEntries) 19 | { 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | } 28 | 29 |
Correlation IDActivityActivity DateActorTarget Resource
@auditEntryViewModel.CorrelationId@auditEntryViewModel.Activity@auditEntryViewModel.ActivityDate@auditEntryViewModel.ActorName
@auditEntryViewModel.ActorType
@auditEntryViewModel.TargetResourceName
@auditEntryViewModel.TargetResourceType
30 |
31 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:55px}.btn-migration{width:92px}.main{padding:20px}.main .page-header{margin-top:0}.navbar-brand{padding:7px 15px}.navbar-brand img{height:40px}.navbar-fixed-top{border:0;height:55px}.navbar-login{padding:10px 10px 0;width:305px}.navbar-right{margin-right:0;margin-top:15px}.navbar-right span{color:#fff}.nav-sidebar{margin-bottom:20px;margin-left:-20px;margin-right:-21px}.nav-sidebar>li>a{padding-left:20px;padding-right:20px}.nav-sidebar>.active>a,.nav-sidebar>.active>a:focus,.nav-sidebar>.active>a:hover{background-color:#428bca;color:#fff}.placeholders{margin-bottom:30px;text-align:center}.placeholders h4{margin-bottom:0}.placeholder{margin-bottom:20px}.placeholder img{border-radius:50%;display:inline-block}.sidebar{display:none}.well-users h5{font-weight:700;margin-top:0}.well-users .media-left{min-width:114px}.well-users .label-activate{margin-right:57px}.well-users .label-delete{margin-right:66px}.well-users .label-demigrate{margin-right:44px}.well-users .label-migrate{margin-right:59px}@media (min-width:768px){.main{padding-left:40px;padding-right:40px}.sidebar{background-color:#f5f5f5;border-right:1px solid #eee;bottom:0;display:block;left:0;overflow-x:hidden;overflow-y:auto;padding:20px;position:fixed;top:51px;z-index:1000}} -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipBillingWebApplication/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipMusicWebApplication/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipGamesWebApplication/Views/Activation/Redeemed.cshtml: -------------------------------------------------------------------------------- 1 | @model WingTipGamesWebApplication.ViewModels.Activation.RedeemedViewModel 2 | @{ 3 | ViewData["Title"] = "You've activated your WingTip account"; 4 | } 5 |
6 |

You've activated your WingTip account

7 |

We hope you enjoy these game rentals.

8 | @foreach (var games in Model.Games.Select((x, i) => new 9 | { 10 | Index = i, 11 | Value = x 12 | }).GroupBy(x => x.Index / 4).Select(x => x.Select(y => y.Value).ToList()).ToList()) 13 | { 14 |
15 | @foreach (var game in games) 16 | { 17 |
18 |
19 | @game.Title 20 |
@game.Title
21 |

22 | Rent free 23 |

24 |
25 |
26 | } 27 |
28 | } 29 |
30 |
31 |

© 2017 - WingTip Toys

32 |
33 |
-------------------------------------------------------------------------------- /wingtipgamesb2c/src/WingTipToysWebApplication/Views/Audit/ApplicationIndex.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Application Audit"; 3 | } 4 |

Application Audit

5 |

Latest @Model.Top activities

6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | @foreach (var auditEntryViewModel in Model.AuditEntries) 19 | { 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | } 28 | 29 |
Correlation IDActivityActivity DateActorTarget Resource
@auditEntryViewModel.CorrelationId@auditEntryViewModel.Activity@auditEntryViewModel.ActivityDate@auditEntryViewModel.ActorName
@auditEntryViewModel.ActorType
@auditEntryViewModel.TargetResourceName
@auditEntryViewModel.TargetResourceType
30 |
31 | -------------------------------------------------------------------------------- /AzureFunctionsSamples/CalculatePlayerProfilePercentCompleteWebHook/run.csx: -------------------------------------------------------------------------------- 1 | #r "Newtonsoft.Json" 2 | 3 | using System; 4 | using System.Net; 5 | using Newtonsoft.Json; 6 | 7 | public static async Task Run(HttpRequestMessage request, TraceWriter log) 8 | { 9 | log.Info($"Webhook was triggered!"); 10 | 11 | string requestContentAsString = await request.Content.ReadAsStringAsync(); 12 | dynamic requestContentAsJObject = JsonConvert.DeserializeObject(requestContentAsString); 13 | var playerProfilePercentComplete = 0; 14 | 15 | if (!string.IsNullOrEmpty((string) requestContentAsJObject.playerTag)) 16 | { 17 | playerProfilePercentComplete += 25; 18 | } 19 | 20 | if (!string.IsNullOrEmpty((string) requestContentAsJObject.playerZone)) 21 | { 22 | playerProfilePercentComplete += 25; 23 | } 24 | 25 | if (!string.IsNullOrEmpty((string) requestContentAsJObject.playerMotto)) 26 | { 27 | playerProfilePercentComplete += 25; 28 | } 29 | 30 | if (!string.IsNullOrEmpty((string) requestContentAsJObject.playerBio)) 31 | { 32 | playerProfilePercentComplete += 25; 33 | } 34 | 35 | return request.CreateResponse( 36 | HttpStatusCode.OK, 37 | new { 38 | playerProfilePercentComplete 39 | }); 40 | } 41 | --------------------------------------------------------------------------------