登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
业界
›
图解Browser端访问OAuth2 API的安全性问题与解决方案 ...
图解Browser端访问OAuth2 API的安全性问题与解决方案
[ 复制链接 ]
固拆棚
2025-5-29 18:57:36
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
OAuth2是基于HTTP的认证API,一般与OAuth2搭配的API也是基于HTTP的REST风格API(比如新浪微博和github),很多人一定想过是否可以直接从浏览器端调用REST API。
我最近做了一些这方面的研究,因为OAuth2中有secret key的存在,所以纯粹的客户端是不行的,但是服务端仅仅参与认证过程,由浏览器去调用REST API则是完全可行的。
于是比如你想开发一个github应用,那么服务端只需要一个没有界面的Auth服务就可以了,大部分的工作可以让浏览器端完成,这个架构可以大大减轻服务器的压力,对于不熟悉后端语言的前端工程师来说,是个不错的选择。
首先传统的oauth过程是这样的:
首先由跳转到OAuth服务器的登录认证页面,进行登录或者授权(假如已经在别的地方登录,就只需要授权):
然后服务端通常会返回302跳转到一个带ticket参数的网址,这个网址一般是在OAuth服务器注册的地址,也有些OAuth允许客户端指定:
这样浏览器端拿到302后,会自动转到App服务器,因为请求的Query String里面带了ticket,App Server于是拿到了ticket。客户端对App Server的请求是非Https,这个ticket是不怕被截获的,因为ticket是一次性的,而且攻击者拿到了ticket没有secret key是没法去Oauth服务器骗取token的:
App Server再对Oauth Server发HTTP请求,带上Secret Key:
OAuth服务器会把access_token传给App Server:
原本如果只用服务端访问REST API,这个token保存在服务端就可以了,但是我们现在希望直接在浏览器端用XHR去访问REST API,所以我们必须把token传给浏览器端。
这时候问题出现了,对于大部分开发者而言,花钱买个证书走https是不现实的,而http请求中明文传递token是可能被截获的:
token中包含用户授权信息,只要黑客截获了token,就可以冒充用户身份去Oauth服务器为所欲为:
解决的办法是使用RSA在浏览器端生成一对RSA密钥,然后把公钥传给App Server(建议用cookie,非常方便),Server用公钥加密token后传回给客户端。
我使用的是斯坦福大学的RSA开源实现(这个真的是非常高质量的RSA实现,向斯坦福师生致敬)
http://www-cs-students.stanford.edu/~tjw/jsbn/
学者们的实现比较文艺,依赖关系稍微有些复杂,这里我把所有文件打了个包,方便大家下载:
/Files/winter-cn/RSA.rar
over,接下来在浏览器端去使用token吧。
github API 的一个开源实现,请看 https://github.com/wintercn/github.wind
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
图解
Browser
访问
OAuth2
API
相关帖子
OpenClaw+OpenViking + NVIDIA API 配置教程
OpenClaw+OpenViking + NVIDIA API 配置教程
OpenVINO™ C# API 3.2 全新发布,基于 AI 大模型的全栈重构,全面进化!
非统一内存访问架构NUMA的是是非非
通义深度搜索-API概览
三大搜索引擎 URL 推送 API 详解:百度、必应、谷歌
agent-browser 工作机制
如何通过HTTP API新建Collection
Linux网络编程核心API速查手册
AI应用,AI模型API,第三方整合、Token 流转之间的关系说明
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
OpenClaw+OpenViking + NVIDIA API 配置教程
1
1037
秤陷曲
2026-02-18
业界
OpenClaw+OpenViking + NVIDIA API 配置教程
5
304
晌集涟
2026-02-18
业界
OpenVINO™ C# API 3.2 全新发布,基于 AI 大模型的全栈重构,全面进化!
7
677
左优扬
2026-02-24
业界
非统一内存访问架构NUMA的是是非非
3
1004
毕余馥
2026-03-03
业界
通义深度搜索-API概览
3
988
薛小春
2026-03-05
业界
三大搜索引擎 URL 推送 API 详解:百度、必应、谷歌
0
383
煞赶峙
2026-03-13
安全
agent-browser 工作机制
0
543
染悄
2026-03-16
安全
如何通过HTTP API新建Collection
0
387
钱闲华
2026-03-18
业界
Linux网络编程核心API速查手册
0
854
后仲舒
2026-03-23
安全
AI应用,AI模型API,第三方整合、Token 流转之间的关系说明
0
529
夔新梅
2026-03-28
回复
(36)
莘度
2025-10-14 02:51:29
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
鲫疹
2025-12-12 08:31:40
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
呼延冰枫
2025-12-14 09:52:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
乱蚣
2026-1-18 18:26:12
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
姜删懔
2026-1-22 11:51:19
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
姚望舒
2026-1-22 18:50:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
边书仪
2026-1-23 05:26:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
丘奕奕
2026-1-24 05:31:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
晌集涟
2026-1-25 08:17:34
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
司空娅玲
2026-1-26 09:04:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
届表
2026-1-27 19:29:46
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
垢峒
2026-1-28 06:52:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
渭茱瀑
2026-1-29 08:09:04
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
何玲
2026-1-30 04:26:25
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
呵桢
2026-2-5 00:38:45
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
聚怪闩
2026-2-6 05:31:02
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
丘奕奕
2026-2-7 04:19:04
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
喳谍
2026-2-8 02:31:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
觞刈
2026-2-8 16:48:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
固拆棚
2026-2-8 16:48:35
关注
0
粉丝关注
25
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9524
6
韶又彤
9916
7
宋子
9882
8
荪俗
9020
9
闰咄阅
9999
10
刎唇
9999
查看更多
今日好文热榜
6
host怎么设置,host设置教程
935
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
4
Golang sync.Map 深入探究
4
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
5
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
3
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究
2
Golang sync.Map 深入探究