У меня есть WebApi, который генерирует токен JWT для предоставления доступа к методу контроллера. Я ищу создание универсального c метода на стороне клиента, который отправляет запрос и проверяет, не токен не подтвержден, чем go для refre sh токена, а затем вызывает метод
Ниже приведен мой код на стороне клиента
Public Function SendOrderNotification(ByVal orderNumber As String, ByVal sendingStoreID As String, ByVal receivingStoreID As String) As Boolean
Try
If String.IsNullOrEmpty(SMSAPIToken)
SMSAPIToken = GetTokenFromSMSAPI()
End If
If String.IsNullOrEmpty(SMSAPIToken)
Throw New Exception("Unauthorized: Invalid username password. Source : SMS Web API")
End If
Dim hwr As HttpWebRequest
Dim endPoint As String = ConfigurationManager.AppSettings("SMSWebAPIURL")
endPoint = endPoint + "orders/SendOrderNotification?orderNumber=" + orderNumber + "&senderStoreId=" + sendingStoreID + "&recipientStoreId=" + receivingStoreID
hwr = WebRequest.Create(endPoint)
hwr.Headers.Add("Authorization", "Bearer " + SMSAPIToken)
hwr.Method = "POST"
hwr.ContentLength = 0
hwr.ContentType = "application/json"
Dim wr As WebResponse
wr = hwr.GetResponse()
If Not CType(wr, HttpWebResponse).StatusCode = HttpStatusCode.Unauthorized Then
End If
If Not CType(wr, HttpWebResponse).StatusCode = HttpStatusCode.OK Then
Return False
End If
Return True
Catch ex As WebException
If ex.Response.GetType() Is GetType(System.Net.HttpWebResponse)
If DirectCast(ex.Response , HttpWebResponse).StatusCode = HttpStatusCode.Unauthorized
'I can call method here to get refresh token,but this is not the professional way
End If
End If
Catch ex As Exception
ErrorLog.Add(ex)
Return False
End Try
End Function
Возврат API HttpStatusCode.Unautized при истечении срока действия токена. Поэтому мне нужно вызвать refre sh token, это просто, просто вставьте код и снова вызовите метод SendOrderNotification. Но я ищу некий родовой c метод для использования во всех клиентских методах