Я разрабатываю приложение с использованием Xamarin Forms. Я создал каталог на лазурном портале. Поскольку я вижу ссылки через Интернет, для проверки подлинности Active Directory используется страница входа в систему Microsoft.Тихий вход с использованием имени пользователя в Azure Active Directory в Xamarin
Я хочу создать собственную регистрационную форму и передать имя пользователя в активный каталог и пройти проверку подлинности.
Возможно ли передавать пользовательские учетные данные программно и аутентифицировать пользователя? Как я могу передать учетные данные пользователя?
Я попытался следующие, но я получил «(411) Длина требуется» исключение
var request = WebRequest.Create(string.Format(@"https://login.microsoftonline.com/{0}/oauth2/token?client_id=5e811f4f-4fa4-451e-a439-ca05cabc02d7&grant_type=password&[email protected]&password=userpassword&scope=openid", tenant));
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
using (HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
Debug.WriteLine("Error fetching data. Server returned status code: {0}", response.StatusCode);
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
var content = reader.ReadToEnd();
if (string.IsNullOrWhiteSpace(content))
{
Debug.WriteLine("Response contained empty body...");
}
else {
Debug.WriteLine("Response Body: \r\n {0}", content);
}
}
}
Мое имя пользователя мой электронный идентификатор. Правильно ли это имя пользователя? Поскольку сейчас я получаю ошибку с неправильным запросом. Чего не хватает?
аутентификации Большинство OAuth2 основе (в настоящее время) требуют/исполнение, что вы используете их OAuth процесс входа в систему, чтобы получить, что золотой доступ и токен обновления. Microsoft, Google, Facebook, и т. Д. Системы OAuth2 теперь основаны на этом факте безопасности. Огромный потенциал - если пользователь входит в систему через ваш сайт, а ваше приложение использует Android Chrome 'CustomTabs' или iOS' SFSafariViewController' для UI/OAuth/процесса OAuth, то ваш пользователь не должен снова входить в систему и наоборот. – SushiHangover
Спасибо за ответ. Но я хочу, чтобы аутентифицировать активный каталог молча любым способом. Это возможно в любом случае? Просто хочу передать электронную почту пользователя и пароль. – Atul
Технически вы можете, конечно, справиться с этим полным клиентским процессом OAuth2, так как вам нужно получить токен доступа, чтобы иметь возможность делать что-либо с API-интерфейсом Graph/AD Rest, но я настоятельно рекомендую вам не сходить с путь ... Просмотрите документы MS для «Протокола потока» и «поток аутентификации», это также означает, что вы ошибочно регистрируете свое «приложение» в качестве демона/сервера: https://docs.microsoft.com/en- us/azure/active-directory/develop/active-directory-authentication-scenarios – SushiHangover