Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }