예제 #1
0
        public async Task <IActionResult> Login(string returnUrl)
        {
            var vm = await BuildLoginViewModelAsync(returnUrl);

            if (vm.IsExternalLoginOnly)
            {
                return(RedirectToAction("Challenge", "External", new { scheme = vm.ExternalLoginScheme, returnUrl }));
            }

            var requestId   = returnUrl.Split("requestId=")[1];
            var samlContext = await samlInteractionService.GetRequestContext(requestId);

            var request = samlContext.Raw[SamlConstants.Parameters.SamlRequest];

            vm.SamlRequest = await samlMessageParser.ParseSamlMessage(request);

            return(View(vm));
        }
예제 #2
0
 public async Task <IActionResult> Index()
 => View(new ViewModel {
     SamlMessage = await messageParser.ParseSamlMessage(messageStore.CurrentMessage)
 });