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
背景图片不能显示
posted @ 2023-02-17 15:42  安半愚  阅读(71)  评论(0)    收藏  举报