У меня есть веб-сайт, где требуется идентификация пользователей, я бы предпочел не создавать их еще одно коммандное имя пользователя/пароля, которое они должны запомнить
есть ли SDK для разрешения аутентификации из учетной записи Microsoft?
У меня есть веб-сайт, где требуется идентификация пользователей, я бы предпочел не создавать их еще одно коммандное имя пользователя/пароля, которое они должны запомнить
есть ли SDK для разрешения аутентификации из учетной записи Microsoft?
Это довольно просто, поскольку пустой шаблон шаблона ASP.NET 4.5 показывает, как иметь аутентификацию OAuth2 с помощью google/facebook/liveid/twitter.
http://www.asp.net/aspnet/overview/aspnet-45/oauth-in-the-default-aspnet-45-templates
Проверьте класс основного контекста. Вы можете создать его с использованием контекста localhost (Machine) или домена и использовать метод ValidateCrentials (имя пользователя, пароль) для аутентификации с использованием учетных данных Windows.
http://msdn.microsoft.com/en-us/library/bb154889.aspx
Вот как я использовал его на своем веб-сайте. (Поместите это в метод POST вашего контроллера аутентификации или что-то в этом роде)
В приведенном ниже коде будет указано имя пользователя "bob" или "localhost\bob" или "DOMAIN\bob" и т.д. и получить правильный PrincipalContext для аутентификации пользователя. ПРИМЕЧАНИЕ: здесь регистр нечувствителен.
public bool ValidateCredentials(string username, System.Security.SecureString password)
{
string domain = Environment.MachineName;
if (username.Contains("\\"))
{
domain = username.Split('\\')[0];
username = username.Split('\\')[1];
}
if (domain.Equals("localhost", StringComparison.CurrentCultureIgnoreCase))
domain = Environment.MachineName;
if (domain.Equals(Environment.MachineName, StringComparison.CurrentCultureIgnoreCase))
using (PrincipalContext context = new PrincipalContext(ContextType.Machine))
{
return context.ValidateCredentials(username, password.ToUnsecureString());
}
else
using(PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
//return context.ValidateCredentials(domain + "\\" + username, password.ToUnsecureString());
return context.ValidateCredentials(username, password.ToUnsecureString());
}
}
Microsoft предоставляет Live Connect SDK для интеграции сервисов Microsoft в ваши приложения, включая поставщика удостоверений учетных записей Microsoft.
В Server-Side Scenarios есть конкретный пример, который должен охватывать все, что вам нужно интегрировать.
Вы имеете в виду из учетной записи Windows активного каталога? Если это так, вы можете использовать проверку подлинности Windows и просто указате им индексную страницу автоматически.
http://msdn.microsoft.com/en-us/library/ff647405.aspx
Используйте следующие команды в своем коде за файлом, чтобы получить соответствующую информацию для входа:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
User.Identity.IsAuthenticated
User.Identity.AuthenticationType
User.Identity.Name
Просто используйте "Live Connect" через Oauth 2.0:
http://msdn.microsoft.com/en-us/library/live/hh243647.aspx
или
Наконец, найденная библиотека Javascript похожа на Facebook/Google Authentication
https://msdn.microsoft.com/en-au/library/ff748792.aspx
И
http://isdk.dev.live.com/dev/isdk/ISDK.aspx?category=scenarioGroup_core_concepts&index=0