Проверьте, является ли идентификатор электронной почты идентификатором Windows Live или нет

Я разрабатываю приложение MVC4 и хочу аутентифицировать свое приложение, используя идентификатор Windows Live. Я разработал страницу, на которую я могу приглашать пользователей, поэтому я хочу проверить, является ли идентификатор электронной почты пользователя идентификатором Windows Live или нет?

Я пробовал разные вещи, но они просто проверяют, является ли идентификатор электронной почты идентификатором gmail или нет.

Я пробовал код ниже. но он работает для Gmail, а не для Windows Live ID

            TcpClient tClient = new TcpClient("gmail-smtp-in.l.google.com", 25);
            string CRLF = "\r\n";
            byte[] dataBuffer;
            string ResponseString;
            NetworkStream netStream = tClient.GetStream();
            StreamReader reader = new StreamReader(netStream);
            ResponseString = reader.ReadLine();
            /* Perform HELO to SMTP Server and get Response */
            dataBuffer = BytesFromString("HELO KirtanHere" + CRLF);
            netStream.Write(dataBuffer, 0, dataBuffer.Length);
            ResponseString = reader.ReadLine();
            dataBuffer = BytesFromString("MAIL FROM:<[email protected]>" + CRLF);
            netStream.Write(dataBuffer, 0, dataBuffer.Length);
            ResponseString = reader.ReadLine();
            /* Read Response of the RCPT TO Message to know from google if it exist or not */
            dataBuffer = BytesFromString("RCPT TO:<" + email.Trim() + ">" + CRLF);
            netStream.Write(dataBuffer, 0, dataBuffer.Length);
            ResponseString = reader.ReadLine();
            if (GetResponseCode(ResponseString) == 550)
            {
                IsExist = false;
                //Response.Write("Mai Address Does not Exist !<br/><br/>");
                //Response.Write("<B><font color='red'>Original Error from Smtp Server :</font></b>" + ResponseString);
            }
            /* QUITE CONNECTION */
            dataBuffer = BytesFromString("QUITE" + CRLF);
            netStream.Write(dataBuffer, 0, dataBuffer.Length);
            tClient.Close();

Есть ли другой способ добиться этого?


person User5590    schedule 23.07.2015    source источник


Ответы (1)


Это зависит от того, как вы решите аутентифицировать своих пользователей. Если вы используете приложения Microsoft 2.0 для проверки подлинности, реальная учетная запись имеет утверждение «tid» «9188040d-6c67-4c5b-b112-36a304b66dad», а рабочие или учебные учетные записи имеют уникальные утверждения «tid».

Вы также можете просмотреть этот вопрос для получения дополнительной информации: Как определить, является ли адрес электронной почты рабочей или учебной учетной записью Microsoft или учетной записью Microsoft

person John Ruf    schedule 28.06.2016