Пример #1
0
        public async Task <IActionResult> ConsumePzArtifact([FromForm(Name = "SAMLArt")] string samlArt, CancellationToken token)
        {
            string samlIssuer = _secretsStore.GetSamlIssuer();

            var signingForm = new LoginForm.LoginForm(
                Environment.Test,
                samlIssuer,
                _x509Provider);

            bool   isValid;
            string userName;
            var    assertionId = await signingForm.ResolveAsserionId(samlArt, token);

            if (assertionId != null)
            {
                var info = await _userInfoService.GetUserInfo(assertionId, token);

                userName = info.AccountEmailAddress;
                isValid  = true;
            }
            else
            {
                userName = null;
                isValid  = false;
            }

            return(View(new ConsumePzArtifactViewModel
            {
                IsValid = isValid,
                UserName = userName
            }));
        }
Пример #2
0
        public async Task <IActionResult> GoToPz(AuthorizationForm authorizationForm, CancellationToken token)
        {
            _secretsStore.SetSamlIssuer(authorizationForm.SamlIssuer);

            var signingForm = new LoginForm.LoginForm(
                Environment.Test,
                authorizationForm.SamlIssuer,
                _x509Provider);

            var signingFormModel = await signingForm.BuildFormModel(new LoginFormBuildingArguments
            {
                AssertionConsumerServiceURL = Constants.PublicEndpoint + Url.Action("ConsumePzArtifact")
            }, token);

            return(View(signingFormModel));
        }