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 AuthToken FinishLogin(HandshakeToken handshakeToken, SecondFactor secondFactor) { return(Auth.Provider.FinishLogin(handshakeToken, secondFactor)); }