优化 yudao-sso-demo-by-code 的代码

This commit is contained in:
YunaiV 2022-10-03 17:52:51 +08:00
parent f634ecf7c3
commit 6be30c0887
4 changed files with 35 additions and 35 deletions

View File

@ -52,7 +52,7 @@ public class AuthController {
*/
@PostMapping("/logout")
public CommonResult<Boolean> logout(HttpServletRequest request) {
String token = SecurityUtils.obtainAuthorization(request, "Authentication");
String token = SecurityUtils.obtainAuthorization(request, "Authorization");
if (StrUtil.isNotBlank(token)) {
return oauth2Client.revokeToken(token);
}

View File

@ -32,7 +32,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain filterChain) throws ServletException, IOException {
// 1. 获得访问令牌
String token = SecurityUtils.obtainAuthorization(request, "Authentication");
String token = SecurityUtils.obtainAuthorization(request, "Authorization");
if (StringUtils.hasText(token)) {
// 2. 基于 token 构建登录用户
LoginUser loginUser = buildLoginUserByToken(token);

View File

@ -9,8 +9,8 @@
<script type="application/javascript">
(function ($) {
/**
* 获得 URL 的指定参数的值
*
* 获得 URL 的指定参数的值
*
* @param name 参数名
* @returns 参数值
*/
@ -25,17 +25,17 @@
<script type="application/javascript">
$(function () {
// 获得 code 授权码
const code = $.getUrlParam('code');
const code = $.getUrlParam('code');
if (!code) {
alert('获取不到 code 参数,请排查!')
return;
}
}
// 提交
const redirectUri = 'http://127.0.0.1:18080/callback.html'; // 需要修改成,你回调的地址,就是在 index.html 拼接的 redirectUri
const redirectUri = 'http://127.0.0.1:18080/callback.html'; // 需要修改成,你回调的地址,就是在 index.html 拼接的 redirectUri
$.ajax({
url: "http://127.0.0.1:18080/auth/login-by-code?code=" + code
+ '&redirectUri=' + redirectUri,
+ '&redirectUri=' + redirectUri,
method: 'POST',
success: function( result ) {
if (result.code !== 0) {
@ -52,7 +52,7 @@
window.location.href = '/index.html';
}
})
})
})
</script>
</head>
<body>

View File

@ -8,20 +8,20 @@
<script type="application/javascript">
/**
* 跳转单点登录
/**
* 跳转单点登录
*/
function ssoLogin() {
const clientId = 'yudao-sso-demo-by-code'; // 可以改写成,你的 clientId
function ssoLogin() {
const clientId = 'yudao-sso-demo-by-code'; // 可以改写成,你的 clientId
const redirectUri = encodeURIComponent('http://127.0.0.1:18080/callback.html'); // 注意,需要使用 encodeURIComponent 编码地址
const responseType = 'code'; // 1授权码模式对应 code2简化模式对应 token
window.location.href = 'http://127.0.0.1:1024/sso?client_id=' + clientId
+ '&redirect_uri=' + redirectUri
+ '&response_type=' + responseType;
+ '&redirect_uri=' + redirectUri
+ '&response_type=' + responseType;
}
/**
* 修改昵称
* 修改昵称
*/
function updateNickname() {
const nickname = prompt("请输入新的昵称", "");
@ -34,7 +34,7 @@
url: "http://127.0.0.1:18080/user/update?nickname=" + nickname,
method: 'PUT',
headers: {
'Authentication': 'Bearer ' + accessToken
'Authorization': 'Bearer ' + accessToken
},
success: function (result) {
if (result.code !== 0) {
@ -45,17 +45,17 @@
$('#nicknameSpan').html(nickname);
}
});
}
}
/**
* 刷新令牌
* 刷新令牌
*/
function refreshToken() {
const refreshToken = localStorage.getItem('REFRESH-TOKEN');
if (!refreshToken) {
alert("获取不到刷新令牌");
return;
}
}
$.ajax({
url: "http://127.0.0.1:18080/auth/refresh-token?refreshToken=" + refreshToken,
method: 'POST',
@ -72,7 +72,7 @@
localStorage.setItem('REFRESH-TOKEN', result.data.refresh_token);
}
});
}
}
/**
* 刷新令牌
@ -87,7 +87,7 @@
url: "http://127.0.0.1:18080/auth/logout",
method: 'POST',
headers: {
'Authentication': 'Bearer ' + accessToken
'Authorization': 'Bearer ' + accessToken
},
success: function (result) {
if (result.code !== 0) {
@ -107,10 +107,10 @@
$(function () {
const accessToken = localStorage.getItem('ACCESS-TOKEN');
// 情况一:未登录
if (!accessToken) {
if (!accessToken) {
$('#noLoginDiv').css("display", "block");
return;
}
}
// 情况二:已登录
$('#yesLoginDiv').css("display", "block");
@ -120,7 +120,7 @@
url: "http://127.0.0.1:18080/user/get",
method: 'GET',
headers: {
'Authentication': 'Bearer ' + accessToken
'Authorization': 'Bearer ' + accessToken
},
success: function (result) {
if (result.code !== 0) {
@ -134,17 +134,17 @@
</script>
</head>
<body>
<!-- 情况一未登录1跳转 ruoyi-vue-pro 的 SSO 登录页 -->
<div id="noLoginDiv" style="display: none">
您未登录,点击 <a href="#" onclick="ssoLogin()">跳转 </a> SSO 单点登录
</div>
<!-- 情况一未登录1跳转 ruoyi-vue-pro 的 SSO 登录页 -->
<div id="noLoginDiv" style="display: none">
您未登录,点击 <a href="#" onclick="ssoLogin()">跳转 </a> SSO 单点登录
</div>
<!-- 情况二已登录1展示用户信息2刷新访问令牌3退出登录 -->
<div id="yesLoginDiv" style="display: none">
您已登录!<button onclick="logout()">退出登录</button> <br />
昵称:<span id="nicknameSpan"> 加载中... </span> <button onclick="updateNickname()">修改昵称</button> <br />
访问令牌:<span id="accessTokenSpan"> 加载中... </span> <button onclick="refreshToken()">刷新令牌</button> <br />
</div>
<!-- 情况二已登录1展示用户信息2刷新访问令牌3退出登录 -->
<div id="yesLoginDiv" style="display: none">
您已登录!<button onclick="logout()">退出登录</button> <br />
昵称:<span id="nicknameSpan"> 加载中... </span> <button onclick="updateNickname()">修改昵称</button> <br />
访问令牌:<span id="accessTokenSpan"> 加载中... </span> <button onclick="refreshToken()">刷新令牌</button> <br />
</div>
</body>
<style>
body { /** 页面居中 */