2014-05-11 2 views
1

나는 범용 앱과 하늘빛 모바일 서비스를 만들었습니다. 하늘색 웹 사이트에서 제공되는 Microsoft 계정 인증 추가에 대한 자습서를 따랐습니다. 이 목적을 위해 최신 Live SDK를 사용하고 있습니다.LoginWithMicrosoftAccountAsync는 항상 401과 함께 실패합니다.

클라이언트 측이 코드, 튜토리얼의 더 많은 이하 straigt이다 사용하고 있습니다 :

  • 스토어 항목 :
    const string ReferralUrl = "https://my-url-here.azure-mobile.net/"; 
    
    static MobileServiceClient MobileService = new MobileServiceClient(
          "https://my-url-here.azure-mobile.net/", 
          "my key"); 
    
    MobileServiceUser _user; 
    
    private LiveConnectSession _session; 
    private async Task Authenticate() 
    { 
        var authClient = new LiveAuthClient(ReferralUrl); 
        while (_session == null) 
        { 
         var result = await authClient.LoginAsync(new[] { "wl.basic" }); 
         if (result.Status == LiveConnectSessionStatus.Connected) 
         { 
          _session = result.Session; 
          var client = new LiveConnectClient(result.Session); 
          var meResult = await client.GetAsync("me"); 
          return; 
         } 
         else 
         { 
          break; 
         } 
         } 
    
        _session = null; 
    } 
    
    public async Task<bool> Login() 
    { 
        try 
        { 
         await Authenticate(); 
         _user = await MobileService 
           .LoginWithMicrosoftAccountAsync(_session.AuthenticationToken); 
         } 
        catch (Exception ex) 
        { 
         //Debug.WriteLine(ex.Message); 
          //return false; 
        } 
    
        return true; 
    } 
    

    다음 사실

    이 응용 프로그램에 대한 확인되었습니다를 이 (가) 생성되었습니다
  • 상점 항목이 범용 앱과 연결되었습니다 (win8.1 및 wp8.1 프로젝트 모두 수행되었습니다)
  • st 광석 응용 프로그램은 다음과 같은 설정이 있습니다 :

로 설정 포털에서 ID 탭에 클라이언트 ID와 암호가 입력되고 저장되었습니다. 그러나 package-SID는 없습니다 (이 내용은 자습서에서 언급하지 않았습니다).

모바일 서비스로 만든 서비스 프로젝트를 다운로드하여 솔루션에 추가했습니다. 또한 SetIsHosted (true) 플래그를 WebApiConfig 클래스에 추가했습니다. 마지막으로 나는 TodoItemController에 AuthorizeLevel 속성을 추가하고 그것을 User Level로 설정했다. 이 서비스는 푸른 하늘에 성공적으로 게시되었습니다.

응용 프로그램을 실행하고 로그인을 호출하면 401 예외가 발생합니다. 그것은 로컬 또는 호스트를 실행하는 경우 중요하지 않습니다.

아이디어가 있으십니까?

답변

0

Microsoft 계정 (라이브 SDK) 또는 Facebook 용 클라이언트 측 SDK의 정보를 기반으로 인증되는이 기능은 현재 모바일 서비스 용 .NET 백엔드에서 지원되지 않습니다. .NET 백엔드가 지원하는 것은 Microsoft/Facebook/Google/Twitter 용 웹 인터페이스를 통한 인증 또는 Azure Active Directory 용 클라이언트 측 인증입니다. 원하는 기능에 대한 지원은 다음 릴리스에서 구현해야합니다. 라이브 일 때 공지 사항은 Azure Mobile team blog에서 확인할 수 있습니다.

관련 문제