public async Task <IActionResult> ExperimentalSetup([FromServices] Utilities.B2CSetup setup, [FromServices] ITokenAcquisition tokenAcquisition) { var samplePolicyStr = Request.Query["sampleName"].First(); var dirDomainName = Request.Query["domainName"].First(); var InitialisePhoneSignInJourneysStr = Request.Query["deployPhoneSignInJourneys"].First(); var tenantId = User.Claims.First(c => c.Type == "http://schemas.microsoft.com/identity/claims/tenantid").Value; //var token = await tokenAcquisition.GetAccessTokenOnBehalfOfUserAsync(Constants.Scopes, tenantId); bool removeFb = false; bool initialisePhoneSignInJourneys = false; var res = await setup.SetupAsync(tenantId, removeFb, dirDomainName, initialisePhoneSignInJourneys, samplePolicyStr); var model = new SetupState(); foreach (var item in res) { model.Items.Add(new ItemSetupState() { Name = item.Name, Id = (String.IsNullOrEmpty(item.Id) ? "-" : item.Id), Status = item.Status == IEFObject.S.Exists ? "Exists" : item.Status == IEFObject.S.New ? "New" : item.Status == IEFObject.S.Uploaded ? "Uploaded" : item.Status == IEFObject.S.Failed ? "Failed" : item.Status == IEFObject.S.Skipped ? "Skipped" : "Not found", Reason = (String.IsNullOrEmpty(item.Reason) ? "-" : item.Reason) }); } //string testAppConsentAppId = res.First(kvp => kvp.Name == "IEF Test App Registration").Id; return(View(model)); }
public async Task <IActionResult> Setup([FromServices] Utilities.B2CSetup setup) { var readOnlyStr = Request.Query["readOnly"].First(); bool readOnly = true; bool.TryParse(readOnlyStr, out readOnly); var fbStr = Request.Query["fb"].First(); bool fb = true; bool.TryParse(fbStr, out fb); var tenantId = User.Claims.First(c => c.Type == "http://schemas.microsoft.com/identity/claims/tenantid").Value; //var token = await tokenAcquisition.GetAccessTokenOnBehalfOfUserAsync(Constants.Scopes, tenantId); var res = await setup.SetupAsync(tenantId, readOnly, fb); var model = new SetupState(); foreach (var item in res) { model.Items.Add(new ItemSetupState() { Name = item.Name, Id = (String.IsNullOrEmpty(item.Id)? "-": item.Id), Status = item.Status == IEFObject.S.Existing? "Existing": item.Status == IEFObject.S.New ? "New": "Not found" }); } model.ConsentUrl = $"https://login.microsoftonline.com/{tenantId}/oauth2/authorize?client_id={res[1].Id}&prompt=admin_consent&response_type=code&nonce=defaultNonce"; _logger.LogInformation($"Update?: {!readOnly}; Modified?: {model.Items.Exists(item => item.Status == "New")}; Name?: {tenantId}"); return(View(model)); }
public async Task <IActionResult> Setup([FromServices] Utilities.B2CSetup setup, [FromServices] ITokenAcquisition tokenAcquisition) { var removeFbStr = Request.Query["fb"].First(); var dirDomainName = Request.Query["domainName"].First(); var InitialisePhoneSignInJourneysStr = Request.Query["deployPhoneSignInJourneys"].First(); bool removeFb = false; bool initialisePhoneSignInJourneys = false; bool.TryParse(removeFbStr, out removeFb); bool.TryParse(InitialisePhoneSignInJourneysStr, out initialisePhoneSignInJourneys); var tenantId = User.Claims.First(c => c.Type == "http://schemas.microsoft.com/identity/claims/tenantid").Value; //var token = await tokenAcquisition.GetAccessTokenOnBehalfOfUserAsync(Constants.Scopes, tenantId); var res = await setup.SetupAsync(tenantId, removeFb, dirDomainName, initialisePhoneSignInJourneys, "null"); var model = new SetupState(); foreach (var item in res) { model.Items.Add(new ItemSetupState() { Name = item.Name, Id = (String.IsNullOrEmpty(item.Id)? "-": item.Id), Status = item.Status == IEFObject.S.Exists? "Exists": item.Status == IEFObject.S.New ? "New" : item.Status == IEFObject.S.Uploaded ? "Uploaded" : item.Status == IEFObject.S.Failed ? "Failed" : item.Status == IEFObject.S.Skipped ? "Skipped" : "Not found", Reason = (String.IsNullOrEmpty(item.Reason) ? "-" : item.Reason) }); } string testAppConsentAppId = res.First(kvp => kvp.Name == "IEF Test App Registration").Id; model.ConsentUrl = $"https://login.microsoftonline.com/{tenantId}/oauth2/authorize?client_id={res[1].Id}&prompt=admin_consent&response_type=code&nonce=defaultNonce"; model.AppConsentUrl = $"https://login.microsoftonline.com/{tenantId}/oauth2/authorize?client_id={testAppConsentAppId}&prompt=admin_consent&response_type=code&nonce=defaultNonce"; model.LaunchUrl = $"https://portal.azure.com/#blade/Microsoft_AAD_B2CAdmin/CustomPoliciesMenuBlade/overview/tenantId/{dirDomainName}.onmicrosoft.com"; return(View(model)); }