Как написать метод в ASP.net для получения токена от OAuthAPI - PullRequest
0 голосов
/ 22 января 2019

Получение токена доступа из OAuth и передача его в заголовок для каждого запроса.

У меня есть API: https://login.microsoftonline.com/48b0431c-82f6-4ad2-a023-ac96dbf5614e/oauth2/token А в Почтальоне видно, как возвращается токен доступа. Я пытаюсь вызвать этот APIM API в моем существующем 4.5 .NET-приложении. И написал следующее:

Dim client = InitializeTokenClient()
    Using content As New StringContent(String.Empty)
        Dim response = client.PostAsync($"48b0431c-82f6-4ad2-a023-ac96dbf5614e/oauth2/token", content).Result
        If (response.StatusCode = HttpStatusCode.OK) Then
            response.
        End If
        Return response
    End Using

Я не уверен, как получить доступ к access_token из объекта ответа, а также как мне передать маркер доступа для выполнения последующих вызовов API APIM?

1 Ответ

0 голосов
/ 22 января 2019

Вы можете взять access_token из ответа, десериализовав ответ:

Добавьте ссылку на System.Web.Extensions и добавьте Imports System.Web.Script.Serialization в начало вашего файла.Затем следующий код получит access_token:

    Dim j As Object = New JavaScriptSerializer().Deserialize(Of Object)(response)
    Dim accessToken = j("access_token")

Затем вы можете использовать токен при вызове API, добавив заголовок Authorization со значением Bearer <token>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...