spring boot学习笔记:第十章--实现AcApp域客户端的授权登录--下
最后一节课。实现授权登录,学习redis
这节课主要的内容,实现第三方的授权登录,比如AcWing,QQ。利用接口获取用户信息(用户名和用户头像)。
y总讲义地址!
export class Game {
constructor(id, AcWingOS) {
const myappid = '#' + id;
myfunc(myappid, AcWingOS);
}
}
appSecret 45b97bb580ae4c6d833ab229b8884eb4
课上杂记 redis 相当于map。
内部通信使用RestTemplate。外部使用Redis
云端数据库添加列 SQL语句
alter table user add column openid varchar(200);
跨平台粘贴 复制 shift + insert ctrl + insert
redis
windows打开 启动redis-server.exe redis-cli.exe
Linux打开 启动sudo redis-server /etc/redis/redis.conf 查看登录token keys *
请求授权码的API AcWingOS.api.oauth2.authorize(appid, redirect_uri, scope, state, callback);
使用y总的仓库代码,后端需要更改的地方有域名,AppId。
redirect_uri 服务器接收用户同意信息,调用uri,向API发送信息,发送授权码
scope 授权用户名称与头像
callback 回调函数,将结果返回函数
前端 $.ajax 取出来后端授权登录的信息
Linux 删除进程
ps aux | grep java 获得想要删除的进程号
kill -9 PID
实现客户端
最后一次提交进行的更改
https://git.acwing.com/yxc/kob/-/commit/4916d951d1efe0af607337929125944d96906046
AcApp端 ,app.vue, user.js 记得更改打包后的文件,上传到云端
vue3编译打包后需要进行的修改 const myfunc = (function(myappid,AcWingOS)
打包backend 出错
// 主要是下面这行注解
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class BackendApplicationTests {
@Test
void contextLoads() {
}
}
打包acapp的js文件,进行修改。编写的shell脚本
#! /bin/bash
find dist/js/*.js | xargs sed -i 's/(function(){var e={/const myfunc = (function(myappid, AcWingOS){var e={/g'
find dist/js/*.js | xargs sed -i 's/AcWingOS:"AcWingOS"/AcWingOS:AcWingOS/g'
find dist/js/*.js | xargs sed -i 's/.mount("#app")}()})();/.mount(myappid)}()});/g'
echo "
export class Game {
constructor(id, AcWingOS) {
const myappid = '#' + id;
myfunc(myappid, AcWingOS);
}
}" >> dist/js/*.js
scp dist/js/*.js springboot:kob/acapp
scp dist/css/*.css springboot:kob/acapp
最后发布AcApp 遇到的问题 Cross-Origin Read Blocking (CORB) blocked cross-origin
背景图片不能显示

浙公网安备 33010602011771号