2013-09-17 9 views
1

Пользователи созданы в azure AD для собственного приложения, которое я создал. Я бы хотел, чтобы пользователи использовали их windows live ID, если они есть, иначе я бы создал для них AD.Ошибка аутентификации окон в реальном времени Windows Azure AD

AD accounts может войти, но всякий раз, когда проживут окна счета пытается войти я получаю следующее сообщение об ошибке

Нет имена сервиса под названием «timetray» было найдено в хранилище данных.

Я не уверен, что это означает, что такое пространство имен службы, или где я могу найти хранилище данных.

имя пространства имен службы, что я использую это идентификатор URI ресурса для приложения, которое я предусмотренном в Active Directory

private Uri redirectUri = new Uri("http://TimeTray"); 
    private string clientId = "{{Client-ID}}"; 
    private AuthenticationContext _authenticationContext; 
    private string domainName = "common"; 
    private string resourceAppIdUri = "http://TimeTray"; 
    private string resourceBaseAddress = "http://timetray.azurohosted.com/"; 

    public void Authenticate(OnLoginComplete onLoginComplete) 
    { 
     CredManCache creds = new CredManCache(); 
     _authenticationContext = new AuthenticationContext("https://login.windows.net/" + domainName, creds); 
     AuthenticationResult authenticationResult = _authenticationContext.AcquireToken(resourceAppIdUri, clientId, redirectUri); 
     // _authenticationContext.AcquireToken(
     UserEntity user = new UserEntity(); 
     user.NTUserName = authenticationResult.UserInfo.UserId; 
     user.SID = authenticationResult.UserInfo.UserId; 
     onLoginComplete(user); 
    } 
+0

Не могли бы вы предоставить более подробную информацию? Вы сами создали поддержку входа для собственного приложения или используете библиотеку? Входит ли пользователь в систему управления веб-браузером (в вашем приложении) или в обычном браузере? Каков URL, к которому перенаправляется ваше приложение? –

+0

im, используя System.IdentityModel.Clients.ActiveDirectory, для собственного приложения. он открывает диалоговое окно мини-браузера, в котором пользователь будет аутентифицироваться, а затем возвращается. я обновляю фрагмент кода – Billybonks

ответ

2

Я предполагаю, что вы настраиваете Адал с AAD.

При создании AuthenticationContext:

Вместо https://login.windows.net/ "+ Домена (общий)

Попробуйте

https://login.windows.net/[Guid для веб-API настроен на клиентском компьютере в Azure AD] /FederationMetadata/2007-06/FederationMetadata.xml

В своем хранилище данных Azure теперь будет искать пространство имен службы [guid] вместо того, что отложено от имени входа «billy» @ timetray.onmicrosoft. ком.

См образца MSDN http://code.msdn.microsoft.com/AAL-Native-Application-to-fd648dcf#content

Он гласит: «Установить полномочия https://login.windows.net/common отложить выбор домена AAD до знаков пользователя в.»

Кроме того, использование http://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/

Я думаю, вы также должны создавать пользователей в Azure AD, которые связаны с существующими счетов Microsoft.

+0

Когда я перехожу к своей заявке, в разделе «Начало работы» есть «Включить пользователей для входа»; в нем есть «URL документа метаданных федерации» и отображается пересмотренный URL-адрес. Поэтому, если они когда-либо изменят его снова, мы надеемся, что мы получим правильный URL-адрес. – user34660

Смежные вопросы