使用Qt实现单点登陆功能--OAuth2.0协议
为什么写这篇博客
最近项目中需要在客户端的Qt程序中实现单点登陆功能(SSO),越看越像是加瓦老哥们做的呀,我区区一个C/C++底层开发咋搞呀,网上关于Qt的单点登陆的资料少之又少,硬着头皮干了,好在实现了一个简单版本的,简单记录下
如何申请第三方应用来做授权?
这里使用Gitee作为第三方进行授权
-
登陆gitee

-
第三方应用

-
创建第三方应用
在这最重要的是回调地址的填写,后面会讲如何填
-
创建HTTP服务端程序
服务端程序运行在Linux端,下面是代码
文件夹目录结构
//安装node.js
//npm init -y
//npm install express
project-directory/
│
├── public/
│ └── login.html
│
└── app.js
app.js
// app.js
const express = require('express');
const app = express();
const port = 8090;
// 静态文件服务,用于提供登录页面
app.use(express.static('public'));
// 根路由,用于接收回调并显示欢迎页面
app.get('/', (req, res) => {
// 从请求中获取参数
const code = req.query.code;
const username = req.query.username;
// 处理授权码或本地登录
if (code || username) {
res.send(`<h1>欢迎!</h1><p>Received authorization code: ${
code || ''}</p><p>Welcome, ${
username || 'User'}!</p>`);
} else {
res.redirect('/login');
}
});
// 登录路由,显示登录页面
app.get('/login', (req, res) => {
res.s

最低0.47元/天 解锁文章
3310

被折叠的 条评论
为什么被折叠?



