Former-commit-id: 1dc17b1a3a81ca4f93b5906784794d57243b5ca3
TangShanKaiPing
wanggang 6 years ago
parent 66f8c3e313
commit 59e7bba3cd

@ -219,6 +219,10 @@ namespace Infrastructure.Web
{
OnTokenValidated = context =>
{
if (DateTime.UtcNow > context.SecurityToken.ValidTo)
{
context.Fail("");
}
return Task.CompletedTask;
},
OnForbidden = context =>

@ -38,5 +38,4 @@ namespace Infrastructure.Web
return new ClaimsPrincipal(new ClaimsIdentity(claims, JwtBearerDefaults.AuthenticationScheme));
}
}
}
}

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace IoTCenter.Controllers
{
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]/[action]")]
[ApiController]
public class ProductController : Controller
{
public IActionResult Index()
{
return View();
}
}
}

@ -17,7 +17,6 @@ namespace UserCenter.Controllers
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]/[action]")]
[ApiController]
[Produces(MediaTypeNames.Application.Json)]
public class TokenController : ControllerBase
{
private readonly IConfiguration _cfg;
@ -113,8 +112,7 @@ namespace UserCenter.Controllers
var token = Request.HttpContext.ReadToken(refreshToken);
if (DateTime.UtcNow > token.ValidTo)
{
ModelState.AddModelError("", "已过期");
return Unauthorized(ModelState);
return Unauthorized(ModelState.AddModelError("已过期"));
}
var userName = token.Claims.FirstOrDefault(o => o.Type == ClaimTypes.Name).Value;
return Ok(new

@ -19,10 +19,77 @@ function connect() {
});
}
}
///
//var request = function (url, data, success, method) {
// this.url = url;
// this.data = data;
// this.method = method || 'get';
// this.success = success;
// if (this.method == 'get') {
// axios.get(url, data)
// }
// else {
// }
// request.then(function (response) {
// this.success(response);
// }).catch(function (error) {
// this.catch(error);
// }).finally(function () {
// this.finally();
// });
//}
var token = localStorage.getItem('accessToken');
var refreshToken = localStorage.getItem('refreshToken');
axios.interceptors.request.use(
function (config) {
if (config.url.indexOf('.html') === -1 && config.url.indexOf('getToken') === -1) {
if (token) {
config.withCredentials = true;
config.headers['x-requested-with'] = 'XMLHttpRequest';
config.headers['Authorization'] = 'Bearer ' + token;
console.log(config.headers['Authorization']);
}
}
return config;
},
function (error) {
console.log('axios.interceptors.request.error:');
console.log(error);
return Promise.reject(error);
}
);
axios.interceptors.response.use(function (response) {
console.log('axios.interceptors.response:');
console.log(response);
return response;
}, function (error) {
console.log('axios.interceptors.response.error:');
console.log(error.response);
if (error.response.status === 401) {
var url = '/UserCenter/api/v1/token/refreshToken';
var data = refreshToken:refreshToken};
axios.post(url, data)
.then(function (response) {
token = response.data.accessToken;
localStorage.setItem("accessToken", token);
refreshToken = response.data.refreshToken;
localStorage.setItem("refreshToken", refreshToken);
config.headers['Authorization'] = 'Bearer ' + token;
console.log('after refresh token,send request again');
axios.request(error.config);
})
.catch(function (error) {
if (error.response.status === 401) {
console.log('refreshToken invalid');
router.push('/login')
}
});
}
return Promise.reject(error);
});
///
var token=localStorage.getItem('accessToken');
var refreshToken= localStorage.getItem('refreshToken');
const routes = [
];
var routeList = routes.concat();

@ -5,13 +5,19 @@
template: response.data,
data() {
return {
model:null
model: null
};
},
mounted: function () {
console.log('mounted:home');
weui.tab('#tab', { defaultIndex: 1 });
var url = '/UserCenter/api/v1/Token/GetUserInfo';
axios.get(url)
.then(function (response) {
})
.catch(function (error) {
})
},
methods: {
}

Loading…
Cancel
Save