Example #1
0
        public ISamlToken VerifyToken(IRequest request, string[] tokenString)
        {
            var token = (new TokenFormatter()).Parse(tokenString);

            _requestsVerifier.VerifyAgeAndRepeatOnNewRequest(token.Nonce);

            ISamlToken result = null;

            try {
                result = new SamlToken(token.SamlToken);
            } catch (Exception exc) {
                throw new AuthException(exc.Message, exc);
            }

            token.VerifyBodyHash(request);
            token.VerifySignature(request, result.ConfirmationCertificate);

            return(result);
        }
Example #2
0
        public static SessionToken Issue(ISamlToken samlToken)
        {
            if (samlToken == null)
            {
                throw new ArgumentNullException(nameof(samlToken));
            }

            SessionToken sessionToken = null;

            // Create output SamlToken Instance with parsed UserName
            sessionToken = new SessionToken {
                UserName  = samlToken.SubjectNameId,
                SessionId = Guid.NewGuid().ToString()
            };

            // Register in Sessions
            Sessions.Instance.RegisterSession(sessionToken);

            return(sessionToken);
        }