Программа останавливается при запуске 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

0 ответов

Другие вопросы по тегам