コード例 #1
0
 public async Task Invoke(HttpContext httpContext, ITokenBuilder tokenBuilder)
 {
     if (httpContext.Request.Path.StartsWithSegments("/api"))
     {
         if (httpContext.Request.Path == "/api/CitiesAPI" ||
             httpContext.Request.Path == "/api/mobile/CitiesAPI" ||
             httpContext.Request.Path.StartsWithSegments("/api/mobile/ShopsApi") ||
             httpContext.Request.Path.StartsWithSegments("/api/mobile/UsersApi") ||
             httpContext.Request.Path.StartsWithSegments("/api/ShopsAPI"))
         {
             await _next(httpContext);
         }
         else
         {
             string remember_token = httpContext.Request.Headers["Authorization"];
             _token = remember_token;
             var isExpired = tokenBuilder.isExpiredToken();
             if (isExpired == false)
             {
                 await _next(httpContext);
             }
             else
             {
                 httpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;
                 await httpContext.Response.WriteAsync("Access denied !");
             }
         }
     }
     else
     {
         await _next(httpContext);
     }
 }