Программа останавливается при запуске listener.GetContextAsync с Xero oauth2
Моя программа отказалась продолжить работу при
запуске в Dim context As Object = Await listener.GetContextAsync(), но продолжила выполнение следующей строки, в которой я вызвал oauth2() из другой формы. Он пропускает строки для получения токенов доступа в этой функции. Он покажет окно выбора организации Xero, но показало, что URL-адрес обратного вызова не может отображаться в моем веб-браузере.
Если я использую Postman для проверки этого, он выдаст мне сообщение об ошибке «Ошибка аутентификации - не удалось завершить аутентификацию» после нажатия и выгрузки окна выбора организации Xero.
Любая помощь приветствуется.
Общедоступная асинхронная функция oauth2() как задача (логического значения)
Dim redirectUri As String = String.Format(callbackurl)
Dim listener = New HttpListener()
listener.Prefixes.Add(redirectUri)
Try
listener.Start()
stopListening = False
Catch hlex As HttpListenerException
Return False
End Try
Dim urlCallBackFormat As String = WebUtility.UrlEncode(String.Format(callbackurl))
Dim url As String = "https://login.xero.com/identity/connect/authorize?response_type=code&state=OzEPHd1GSvkwx0fnJ8023A&client_id=" & xeroClientId & "&scope=offline_access%20openid%20profile%20email%20accounting.settings%20accounting.transactions&redirect_uri=" & urlCallBackFormat
Process.Start(url)
While listener.IsListening
Dim context As Object = Public Async Function oauth2() As Task(Of Boolean)
Dim redirectUri As String = String.Format(callbackurl)
Dim listener = New HttpListener()
listener.Prefixes.Add(redirectUri)
Try
listener.Start()
stopListening = False
Catch hlex As HttpListenerException
Return False
End Try
Dim urlCallBackFormat As String = WebUtility.UrlEncode(String.Format(callbackurl))
Dim url As String = "https://login.xero.com/identity/connect/authorize?response_type=code&state=OzEPHd1GSvkwx0fnJ8023A&client_id=" & xeroClientId & "&scope=offline_access%20openid%20profile%20email%20accounting.settings%20accounting.transactions&redirect_uri=" & urlCallBackFormat
Process.Start(url)
While listener.IsListening
Dim context As Object = Await listener.GetContextAsync()
Try
Await ProcessRequestAsync(context)
stopListening = True
Catch ex As Exception
Console.WriteLine("# EXCEPTION # " + ex.StackTrace)
End Try
If stopListening = True Then listener.Stop()
End While
Try
Await ProcessRequestAsync(context)
stopListening = True
Catch ex As Exception
Console.WriteLine("# EXCEPTION # " + ex.StackTrace)
End Try
If stopListening = True Then listener.Stop()
End While