如果基于 Web API 令牌的身份验证达到其到期时间,如何从 ASP.NET Web 应用程序注销
How to logout from ASP.NET web application, if webapi token based authentication reaches it's expire time
我的 Web 应用程序正在使用基于令牌的身份验证的 Web api。它的到期时间设置为一小时。如何在我的应用程序中检查它并将系统设置为在达到此过期时间时注销?
var OAuthOptions = new OAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
Provider = new SimpleAuthorizationServerProvider()
};
{
"access_token": "GjNT5eNHOxwp1JRnEveHo_ensDBCoLkhZ5jBgN2hR_tYOU7_lRXtdKav12KUTXBHtuzc22i21j9oNve0h0lh1L8YcPfrzdzGExcCVKNvXqSv6HTGA1YOn99uwGFWj3o6SNLwz4_2ljA0QnX1QFkM4NJ9HtMxWKROOeqBr87ODZFWZh1Tc4wNv7PGVX8G6OMj12Q0mQ",
"token_type": "bearer",
"expires_in": 3599
}
我想你正在使用 HttpClient。因此,在读取 HttpResponseMessage 时,您可以获取响应中的状态代码并根据它执行操作。
您可以在以下位置找到所有状态代码:
HttpStatusCode
对于过时的令牌,它将是 return 401 Unauthorized,这意味着用户必须重新登录才能获得新令牌。所以读取状态码401就可以判断token状态了。
我的 Web 应用程序正在使用基于令牌的身份验证的 Web api。它的到期时间设置为一小时。如何在我的应用程序中检查它并将系统设置为在达到此过期时间时注销?
var OAuthOptions = new OAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
Provider = new SimpleAuthorizationServerProvider()
};
{
"access_token": "GjNT5eNHOxwp1JRnEveHo_ensDBCoLkhZ5jBgN2hR_tYOU7_lRXtdKav12KUTXBHtuzc22i21j9oNve0h0lh1L8YcPfrzdzGExcCVKNvXqSv6HTGA1YOn99uwGFWj3o6SNLwz4_2ljA0QnX1QFkM4NJ9HtMxWKROOeqBr87ODZFWZh1Tc4wNv7PGVX8G6OMj12Q0mQ",
"token_type": "bearer",
"expires_in": 3599
}
我想你正在使用 HttpClient。因此,在读取 HttpResponseMessage 时,您可以获取响应中的状态代码并根据它执行操作。 您可以在以下位置找到所有状态代码: HttpStatusCode
对于过时的令牌,它将是 return 401 Unauthorized,这意味着用户必须重新登录才能获得新令牌。所以读取状态码401就可以判断token状态了。