public bool Equals(HandshakeToken other) { if (other == null) { return(false); } return(this.Identifier.Equals(other.Identifier)); }
public void CancelLogin(HandshakeToken handshakeToken) { lock (sessions) { RemoveExpiredSessions(); sessions.RemoveAll(s => !s.IsAuthenticated && s.HandshakeToken.Equals(handshakeToken)); } }
public AuthToken FinishLogin(HandshakeToken handshakeToken, SecondFactor secondFactor) { lock (sessions) { RemoveExpiredSessions(); var session = sessions.SingleOrDefault(s => !s.IsAuthenticated && s.HandshakeToken.Equals(handshakeToken)); if (session != null) { if (session.Owner.HardcodedSecondFactorCode.Equals(secondFactor.OneTimeUseCode)) { var toRet = new AuthToken(GetNewHash(), GetSessionExpiryFromNowUtc()); session.AuthToken = toRet; return(toRet); } } throw new FaultException("Authentication error"); } }
public HandshakeToken BeginLogin(LoginCredentials credentials) { lock (sessions) { RemoveExpiredSessions(); var user = users.SingleOrDefault(u => u.Username == credentials.Username); if (user != null) { if (user.Password == credentials.Password) { var toRet = new HandshakeToken(GetNewHash(), GetHandshakeExpiryFromNowUtc()); sessions.Add(new Session { Owner = user, HandshakeToken = toRet }); return(toRet); } } throw new FaultException("Bad username or password"); } }
public AuthToken FinishLogin(HandshakeToken handshakeToken, SecondFactor secondFactor) { return(Auth.Provider.FinishLogin(handshakeToken, secondFactor)); }
public void CancelLogin(HandshakeToken handshakeToken) { Auth.Provider.CancelLogin(handshakeToken); }