Beispiel #1
0
 public UsernameTokenProvider(UsernameInfo usernameInfo) : base()
 {
     if (usernameInfo == null)
     {
         throw new ArgumentNullException("usernameInfo");
     }
     this._usernameInfo = usernameInfo;
 }
Beispiel #2
0
        public UsernameClientCredentials(UsernameInfo usernameInfo)
            : base()
        {
            if (usernameInfo == null)
            {
                throw new ArgumentNullException("usernameInfo");
            }

            _usernameInfo = usernameInfo;
        }
Beispiel #3
0
        public UsernameToken(UsernameInfo usernameInfo, string nonce, string created)
        {
            if (usernameInfo == null)
            {
                throw new ArgumentNullException("usernameInfo");
            }

            _usernameInfo = usernameInfo;

            if (nonce != null)
            {
                _nonce = Convert.FromBase64String(nonce);
            }

            if (created != null)
            {
                _created = DateTime.Parse(created);
            }

            // the user name token is not capable of any crypto
            _securityKeys = new ReadOnlyCollection <SecurityKey>(new List <SecurityKey>());
        }
Beispiel #4
0
        protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            if (reader.IsStartElement(Constants.UsernameTokenName, Constants.UsernameTokenNamespace))
            {
                string id = reader.GetAttribute(Constants.IdAttributeName, Constants.WsUtilityNamespace);

                reader.ReadStartElement();

                // read the user name
                string userName = reader.ReadElementString(Constants.UsernameElementName, Constants.UsernameTokenNamespace);

                // read the password hash
                string password = reader.ReadElementString(Constants.PasswordElementName, Constants.UsernameTokenNamespace);

                // read nonce
                string nonce = reader.ReadElementString(Constants.NonceElementName, Constants.UsernameTokenNamespace);

                // read created
                string created = reader.ReadElementString(Constants.CreatedElementName, Constants.WsUtilityNamespace);

                reader.ReadEndElement();

                UsernameInfo usernameInfo = new UsernameInfo(userName, password);

                return(new UsernameToken(usernameInfo, nonce, created));
            }
            else
            {
                return(WSSecurityTokenSerializer.DefaultInstance.ReadToken(reader, tokenResolver));
            }
        }
Beispiel #5
0
 public UsernameToken(UsernameInfo usernameInfo) : this(usernameInfo, null, null)
 {
 }