티스토리 뷰

반응형

Push Notification을 달고나니 문제가 내가 등록한 코맨트에 대해서 나한테 노티를 날리는 상황이 발생!

그래서, 좀더 파고 들어 가려고 하니, 인증이 튀어 나온다..쿠궁..

 

다행인것은 여러가지 인증가능한 서비스들을 제공하고 있다는 것인데..음..

이것이 너무 자주 바뀌니까 뭐가 뭔지 찾기가 쉽지 않다. 쿨럭

 

 

1. 인증 추가하기 기본 문서

http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-users/

이 문서대로 작업을 진행하다가, 마이크로소프트 계정 인증인지, 페이스북 인증인지에 따라 Redirect URL이 다르니 찾아서 작업 해야한다.

 

 

2. 마이크로소프트 계정 인증을 위한 기본 작업

Register your apps to use a Microsoft Account login

http://azure.microsoft.com/en-us/documentation/articles/mobile-services-how-to-register-microsoft-authentication/

 

 

3. 인증관련 오류 발생시 대처법

Troubleshooting authentication issues in Azure Mobile Services

http://blogs.msdn.com/b/carlosfigueira/archive/2012/10/23/troubleshooting-authentication-issues-in-azure-mobile-services.aspx

 

Authentication - Only HTTPS scheme is allowed

http://stackoverflow.com/questions/27141441/authentication-only-https-scheme-is-allowed/27527915#27527915

 

 

4. 기타 여러가지 정보 확인 및 입력해야하는 곳

 

에저 포탈

https://manage.windowsazure.com

 

앱 개발자 센터

https://appdev.microsoft.com

 

마이크로소프트 계정 정보

https://account.live.com

 

 

 

5. 마이크로소프트 계정으로 인증하기

 

앱이 이미 Live Id로 로그인을 하기 때문에 재인증을 하지 않기 위해 true를 붙여줌

 

        public async Task AuthenticateAsync()
        {
            int retryCount = 0;
            while (_user == null)
            {
                string message;
                try
                {
                    _user = await App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount, true);
                    message = string.Format("You are now signed in - {0}", _user.UserId);
                }
                catch (InvalidOperationException ex)
                {
                    message = "You must log in. Login Required";
                    retryCount++;
                }
                Debug.WriteLine(message);

                if (retryCount > 2)
                {
                    await EtcHelper.Instance.MsgBoxAsync("Service login fail. exit app");
                    Application.Current.Exit();
                }
            }
        }

 

 

이 화면 나오다가 인증 완료되면 자동으로 꺼지내용..음..이화면 자체도 않나올 수 없을려나..쿨럭

 

큭..인증 붙이다가 중간에 오류 처리한다고 저녁 시간 다 보내고.;;;

내일은 1번 문서의 중간부터 계속 해야겠당..음냐

 

 

아래 내용은 서비스;;

노티피케이션 등록할 때 시물레이터로 돌리면 오류가 발생하는데 방지할 수 있는 코드 추가

 

        /// <summary>
        /// 노티피케이션 등록
        /// </summary>
        private async void InitNotificationsAsync()
        {
            if (Windows.System.RemoteDesktop.InteractiveSession.IsRemote) return;

            // Request a push notification channel.
            var channel = await PushNotificationChannelManager
                .CreatePushNotificationChannelForApplicationAsync();

            // Register for notifications using the new channel
            Exception exception = null;
            try
            {
                await MobileService.GetPush().RegisterNativeAsync(channel.Uri);
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            if (exception != null)
            {
                var dialog = new MessageDialog(exception.Message, "Registering Channel URI");
                dialog.Commands.Add(new UICommand("OK"));
                await dialog.ShowAsync();
            }
        }

 

 

 

6. 사용자 정의 인증 추가하기

으흐흐;; 어제 추가한 사용자 인증이 윈도 앱에서는 자동으로 인증이 처리가 되는데, 윈폰에서는 인증 페이지를 매번 호출을 하고 있다. 그래서, 사용자 정의 인증으로 가닥을 잡았다.

 

Get started with custom authentication

http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-get-started-custom-authentication/

반응형
댓글