从OAuth获取访问令牌,并将其传递到每个请求的标头中。
我在以下位置有api:https://login.microsoftonline.com/48b0431c-82f6-4ad2-a023-ac96dbf5614e/oauth2/token 并且在Postman中可以看到访问令牌被返回。 我试图在我现有的4.5 .NET应用程序中调用此APIM api。并写了以下内容:
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以及如何传递访问令牌以进行后续APIM api调用?
答案 0 :(得分:0)
您可以通过反序列化响应来从响应中获取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>
。