private void HandleRedirectUri(string parameter) { var urlParams = HttpUtility.ParseQueryString(parameter); if (urlParams.AllKeys.Contains("state") && uint.TryParse(urlParams.Get("state"), out uint state) && _state != state) { throw new Exception("Facebook Server Error!"); } if (urlParams.AllKeys.Contains("#access_token")) { string token = urlParams.Get("#access_token"); try { _facebookService.Authorize(token); } catch (Exception ex) { MessageBox.Show(ex.Message); } var declined = _facebookService.GetDeclinedList(token); if (declined != null && declined.Contains("user_photos")) { var result = MessageBox.Show("사진 권한을 허용하지 않으면 앱에서 Facebook을 사용할 수 없습니다." + Environment.NewLine + "허용하시겠습니까?", "Memories", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { Chromium.Load(_facebookService.GetReRequestUrl(declined, token)); return; } else { RaiseRequestClose(new DialogResult(ButtonResult.Cancel)); return; } } RaiseRequestClose(new DialogResult(ButtonResult.OK)); } else if (urlParams.AllKeys.Contains("error")) { string error = urlParams.Get("error"); if (error == "access_denied") { RaiseRequestClose(new DialogResult(ButtonResult.Cancel)); return; } } }