From 140fc5b6407a0bbed3144b5cd1852ddd8d3ac2a4 Mon Sep 17 00:00:00 2001 From: linhaojun Date: Mon, 26 Sep 2022 19:44:36 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E4=BC=98=E5=8C=96token=E8=AE=A4?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/aurora/constant/AuthConstant.java | 14 ++++++ .../com/aurora/constant/CommonConstant.java | 5 -- .../aurora/service/impl/TokenServiceImpl.java | 17 +++---- aurora-vue/aurora-admin/src/main.js | 2 +- .../aurora-admin/src/views/album/Album.vue | 4 +- .../aurora-admin/src/views/album/Photo.vue | 2 +- .../src/views/article/Article.vue | 4 +- .../src/views/setting/Setting.vue | 2 +- .../src/views/website/Website.vue | 4 +- aurora-vue/aurora-blog/src/api/api.ts | 47 +++++++++---------- .../aurora-blog/src/components/UserCenter.vue | 2 +- 11 files changed, 52 insertions(+), 51 deletions(-) create mode 100644 aurora-springboot/src/main/java/com/aurora/constant/AuthConstant.java diff --git a/aurora-springboot/src/main/java/com/aurora/constant/AuthConstant.java b/aurora-springboot/src/main/java/com/aurora/constant/AuthConstant.java new file mode 100644 index 0000000..223382e --- /dev/null +++ b/aurora-springboot/src/main/java/com/aurora/constant/AuthConstant.java @@ -0,0 +1,14 @@ +package com.aurora.constant; + +public class AuthConstant { + + public static final String TOKEN_HEADER = "Authorization"; + + public static final String TOKEN_PREFIX = "Bearer "; + + public final static Integer TWENTY_MINUTES = 20; + + public final static String SECRET = "huaweimian"; + + public final static Integer EXPIRE_TIME = 7 * 24 * 60 * 60; +} diff --git a/aurora-springboot/src/main/java/com/aurora/constant/CommonConstant.java b/aurora-springboot/src/main/java/com/aurora/constant/CommonConstant.java index 9e833fc..7821067 100644 --- a/aurora-springboot/src/main/java/com/aurora/constant/CommonConstant.java +++ b/aurora-springboot/src/main/java/com/aurora/constant/CommonConstant.java @@ -87,11 +87,6 @@ public class CommonConstant { */ public static final Integer DEFAULT_ABOUT_ID = 1; - /** - * 20分钟 - */ - public final static Integer TWENTY_MINUTES = 20; - /** * 验证码 */ diff --git a/aurora-springboot/src/main/java/com/aurora/service/impl/TokenServiceImpl.java b/aurora-springboot/src/main/java/com/aurora/service/impl/TokenServiceImpl.java index ec1b58a..934fc2f 100644 --- a/aurora-springboot/src/main/java/com/aurora/service/impl/TokenServiceImpl.java +++ b/aurora-springboot/src/main/java/com/aurora/service/impl/TokenServiceImpl.java @@ -16,21 +16,16 @@ import javax.servlet.http.HttpServletRequest; import java.time.Duration; import java.time.LocalDateTime; import java.util.Base64; +import java.util.Optional; import java.util.UUID; -import static com.aurora.constant.CommonConstant.TWENTY_MINUTES; +import static com.aurora.constant.AuthConstant.*; import static com.aurora.constant.RedisPrefixConstant.LOGIN_USER; @Service public class TokenServiceImpl implements TokenService { - private final static String header = "token"; - - private final static String secret = "huaweimian"; - - private final static Integer expireTime = 7 * 24 * 60 * 60; - @Autowired private RedisService redisService; @@ -53,9 +48,9 @@ public class TokenServiceImpl implements TokenService { @Override public void refreshToken(UserDetailsDTO userDetailsDTO) { LocalDateTime currentTime = LocalDateTime.now(); - userDetailsDTO.setExpireTime(currentTime.plusSeconds(expireTime)); + userDetailsDTO.setExpireTime(currentTime.plusSeconds(EXPIRE_TIME)); String userId = userDetailsDTO.getId().toString(); - redisService.hSet(LOGIN_USER, userId, userDetailsDTO, expireTime); + redisService.hSet(LOGIN_USER, userId, userDetailsDTO, EXPIRE_TIME); } @Override @@ -75,7 +70,7 @@ public class TokenServiceImpl implements TokenService { @Override public UserDetailsDTO getUserDetailDTO(HttpServletRequest request) { - String token = request.getHeader(TokenServiceImpl.header); + String token = request.getHeader(TOKEN_HEADER).replaceFirst(TOKEN_PREFIX, ""); if (StringUtils.hasText(token) && !token.equals("null")) { Claims claims = parseToken(token); String userId = claims.getSubject(); @@ -94,7 +89,7 @@ public class TokenServiceImpl implements TokenService { } public SecretKey generalKey() { - byte[] encodedKey = Base64.getDecoder().decode(secret); + byte[] encodedKey = Base64.getDecoder().decode(SECRET); return new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES"); } diff --git a/aurora-vue/aurora-admin/src/main.js b/aurora-vue/aurora-admin/src/main.js index c76a2cd..8ff6a68 100644 --- a/aurora-vue/aurora-admin/src/main.js +++ b/aurora-vue/aurora-admin/src/main.js @@ -67,7 +67,7 @@ router.afterEach(() => { }) axios.interceptors.request.use((config) => { - config.headers.token = sessionStorage.getItem('token') === null ? '' : sessionStorage.getItem('token') + config.headers['Authorization'] = 'Bearer ' + sessionStorage.getItem('token') return config }) diff --git a/aurora-vue/aurora-admin/src/views/album/Album.vue b/aurora-vue/aurora-admin/src/views/album/Album.vue index b556ce0..ca053b5 100644 --- a/aurora-vue/aurora-admin/src/views/album/Album.vue +++ b/aurora-vue/aurora-admin/src/views/album/Album.vue @@ -128,7 +128,7 @@ export default { current: 1, size: 8, count: 0, - headers: { token: sessionStorage.getItem('token') } + headers: { Authorization: 'Bearer ' + sessionStorage.getItem('token') } } }, methods: { @@ -300,4 +300,4 @@ export default { top: 0.5rem; right: 0.8rem; } - \ No newline at end of file + diff --git a/aurora-vue/aurora-admin/src/views/album/Photo.vue b/aurora-vue/aurora-admin/src/views/album/Photo.vue index 498b81b..52f1ce0 100644 --- a/aurora-vue/aurora-admin/src/views/album/Photo.vue +++ b/aurora-vue/aurora-admin/src/views/album/Photo.vue @@ -213,7 +213,7 @@ export default { current: 1, size: 18, count: 0, - headers: { token: sessionStorage.getItem('token') } + headers: { Authorization: 'Bearer ' + sessionStorage.getItem('token') } } }, methods: { diff --git a/aurora-vue/aurora-admin/src/views/article/Article.vue b/aurora-vue/aurora-admin/src/views/article/Article.vue index fd3919a..9a5ae63 100644 --- a/aurora-vue/aurora-admin/src/views/article/Article.vue +++ b/aurora-vue/aurora-admin/src/views/article/Article.vue @@ -204,7 +204,7 @@ export default { type: 1, status: 1 }, - headers: { token: sessionStorage.getItem('token') } + headers: { Authorization: 'Bearer ' + sessionStorage.getItem('token') } } }, methods: { @@ -483,4 +483,4 @@ export default { height: 260px; overflow-y: auto; } - \ No newline at end of file + diff --git a/aurora-vue/aurora-admin/src/views/setting/Setting.vue b/aurora-vue/aurora-admin/src/views/setting/Setting.vue index f0ae8d0..fa42d8b 100644 --- a/aurora-vue/aurora-admin/src/views/setting/Setting.vue +++ b/aurora-vue/aurora-admin/src/views/setting/Setting.vue @@ -73,7 +73,7 @@ export default { confirmPassword: '' }, activeName: 'info', - headers: { token: sessionStorage.getItem('token') } + headers: { Authorization: 'Bearer ' + sessionStorage.getItem('token') } } }, methods: { diff --git a/aurora-vue/aurora-admin/src/views/website/Website.vue b/aurora-vue/aurora-admin/src/views/website/Website.vue index 01c3e39..94dc026 100644 --- a/aurora-vue/aurora-admin/src/views/website/Website.vue +++ b/aurora-vue/aurora-admin/src/views/website/Website.vue @@ -216,7 +216,7 @@ export default { return { websiteConfigForm: {}, activeName: 'info', - headers: { token: sessionStorage.getItem('token') } + headers: { Authorization: 'Bearer ' + sessionStorage.getItem('token') } } }, methods: { @@ -296,4 +296,4 @@ export default { height: 120px; display: block; } - \ No newline at end of file + diff --git a/aurora-vue/aurora-blog/src/api/api.ts b/aurora-vue/aurora-blog/src/api/api.ts index 65b0696..2d5574b 100644 --- a/aurora-vue/aurora-blog/src/api/api.ts +++ b/aurora-vue/aurora-blog/src/api/api.ts @@ -2,32 +2,29 @@ import axios from 'axios' import { app } from '@/main' axios.interceptors.request.use((config: any) => { - config.headers.token = sessionStorage.getItem('token') + config.headers['Authorization'] = 'Bearer ' + sessionStorage.getItem('token') return config }) -axios.interceptors.response.use( - (response) => { - switch (response.data.code) { - case 50000: - app.config.globalProperties.$notify({ - title: 'Error', - message: '系统异常,请联系管理员', - type: 'error' - }) - break - case 40001: - app.config.globalProperties.$notify({ - title: 'Error', - message: '用户未登录', - type: 'error' - }) - break - } - return response - }, - (error) => {} -) +axios.interceptors.response.use((response) => { + switch (response.data.code) { + case 50000: + app.config.globalProperties.$notify({ + title: 'Error', + message: '系统异常,请联系管理员', + type: 'error' + }) + break + case 40001: + app.config.globalProperties.$notify({ + title: 'Error', + message: '用户未登录', + type: 'error' + }) + break + } + return response +}) export default { getTopAndFeaturedArticles: () => { return axios.get('/api/articles/topAndFeatured') @@ -135,7 +132,7 @@ export default { updatePassword: (params: any) => { return axios.put('/api/users/password', params) }, - accessArticle:(params:any)=>{ - return axios.post('/api/articles/access',params) + accessArticle: (params: any) => { + return axios.post('/api/articles/access', params) } } diff --git a/aurora-vue/aurora-blog/src/components/UserCenter.vue b/aurora-vue/aurora-blog/src/components/UserCenter.vue index f9512ab..c865934 100644 --- a/aurora-vue/aurora-blog/src/components/UserCenter.vue +++ b/aurora-vue/aurora-blog/src/components/UserCenter.vue @@ -242,7 +242,7 @@ export default defineComponent({ return { method: 'POST', headers: { - token: userStore.token + Authorization: 'Bearer ' + userStore.token } } })