首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浏览器中存储访问令牌最佳实践

本文讨论了浏览器中可用各种存储解决方案,并突出了每种选择相关安全风险。...为了减轻授权码相关风险,在使用授权码流时,始终应用PKCE。 浏览器威胁 跨站请求伪造(CSRF) 在跨站请求伪造(CSRF)攻击中,恶意行为者会欺骗用户通过浏览器无意中执行恶意请求。...然后,攻击者可以伪装成用户,调用用户可以调用任何后端端点,并造成严重损害。 浏览器中存储解决方案 应用程序收到访问令牌后,需要存储令牌以在API请求中使用它。浏览器中有多种方法可以持久化数据。...IndexedDB更适合用于应用程序脱机工作所需数据,如图像。 内存 存储令牌一个相当安全方法是将其保存在内存中。与其他方法相比,令牌存储在文件系统中,从而减轻了设备文件系统相关风险。...除了潜在XSS漏洞相关安全问题外,在内存中保持令牌最大缺点是页面重载时令牌会丢失。然后,应用程序必须获取一个新令牌,这可能会触发新用户身份验证。安全设计应考虑到用户体验。

13110

4.Spring Security oAuth2-令牌访问刷新

令牌访问刷新 Access Token Access Token 是客户端访问资源服务器令牌。拥有这个令牌代表着得到用户授权。然而,这个授权应该是 临时 。...这是因为,Access Token 在使用过程中 可能会泄漏。给 Access Token 限定一个 较短有效期 可以降低因 Access Token 泄漏带来风险。...每当 Access Token 过期,客户端就必须重新向用户索要授权。这样用户可能每个几天,甚至每天都需要进行授权操作。这是一件非常影响用户体验事情。希望有一种方法,可以避免这种情况。...调用 refresh 接口时候,一定是从服务器到服务器访问。 OAuth2.0 引入了 client_secret 机制。即每一个 client_id 都对应一个 cleint_secret。...Refresh Token 有效期非常长,会在用户授权时,随 Access Token 一起重定向到回调 URL,传递给客户端。

2K00
您找到你想要的搜索结果了吗?
是的
没有找到

访问控制相关安全问题

打卡一:web 实战 P336-345 不知不觉已经到第八章访问控制学习了,首先关于访问控制有几个分类:垂直访问控制(比如普通用户和管理员)、水平访问控制(比如不同用户之间)、上下文相关访问控制(比如改密码流程...打卡二:web 实战 P346-372 了解完访问控制相关安全问题之后,我们该如何测试呢? 测试越权问题,最好准备多个不同权限账号进行测试,访问不同账号下正常资源,来验证是否存在越权问题。...首先是对开发者说几点建议: 1、不能抱用户不知道页面地址,而不对页面做权限检查 2、不能相信用户提交任何参数 3、不要认为用户会按照程序流程进行操作 4、不要相信用户不会篡改客户端自动提交数据 以下是一些有效解决访问控制问题方法...作业二:通过互联网找一个论坛类网站,收集只允许自己访问页面地址,尝试发现页面请求中可以修改用户相关参数,验证是否存在水平越权/垂直越权,记录详细操作过程。...这部分内容是攻击数据存储,内容最多是 sql 注入问题, sql 注入相关组件包括:解释性语言(PHP、asp.net、java 等)、数据库组件(mysql、mssql、oracle、postgres

74830

orbeon form 架构简介 - 如何访问用户通过 form 存储数据

用户视角出发,Orbeon Forms 架构很简单。 它由 Form Builder(表单编辑器)和 Form Runner(表单运行时)组成,数据库(持久层)对话。...此外,用户管理系统集成也是一种常见场景。 您已经使用 Form Builder 创建了表单,发布了这些表单,并设置了 Orbeon Forms,以便它将表单捕获数据存储在您关系数据库中。...现在,您另一个应用程序如何访问这些数据? 有三种设计方式。 当用户单击表单中提交按钮时,让 Orbeon 表单将数据发送到您应用程序。...本质上,您设置 Orbeon Forms,以便当用户填写表单并提交时,Orbeon Forms 会将用户输入数据发送到您应用程序。...尽管有此警告,但我们发现客户访问数据库中数据通常比通过 API 访问更实用。

1.4K20

ATT&CK视角下红蓝对抗之Windows访问控制模型

假设当用户登录时,操作系统会对用户帐户名和密码进行身份验证, 当登录成功时,系统会自动分配访问令牌(Access Token),访问令牌包含安全标识符,用于标识用户帐户以及该用户所属任何组帐户,当我们去创建一个进程也就是访问一个资源...Windows系统中每个用户登录账号都生成对应一个访问令牌,在当用户使用账号登录到操作系统时,系统会将所登录账号安全数据库(SAM)中存储数据进行对比验证,验证成功后才会生成一个访问令牌,当我们打开某个进程或者线程正在具有安全描述符对象进行交互时候...当创建一个进程时候,Windows操作系统内核都会给进程去创建分配一个主令牌,每一个进程都含有一个主令牌,它描述了进程相关用户账号安全上下文,同时一个线程可以模拟一个客户端账号,允许此线程安全对象交互时用客户端安全上下文...一个正模拟客户端线程拥有一个主令牌和一个模拟令牌。(主令牌进程相关,模拟令牌模拟令牌线程相关)。...,其中描述了登录进程返回SID,当前进程相关用户帐户安全组特权列表,代表系统可以使用令牌使用户可以访问那些安全对象,及控制用户可以执行那些相关系统操作,通常用于本地登录及远程RDP登录场景。

16210

Google Workspace全域委派功能关键安全问题剖析

根据研究人员发现,一个具有必要权限GCP角色可以为委派用户生成访问令牌,恶意内部攻击者或窃取到凭证数据外部攻击者将能够使用此访问令牌来冒充 Google Workspace用户,从而授予对目标数据未经授权访问权限...需要委派 GCP 服务帐户才能创建 Google 服务交互、访问 Google API、处理用户数据或代表用户执行操作应用程序。 什么是服务账户?...服务帐户应用程序本身相关联,而不是单个最终用户相关联。 用户帐号不同之处在于,服务帐号不是Google Workspace域成员。...如果请求有效并且服务帐户已被授予必要全域委派权限,则令牌节点将使用访问令牌进行响应,应用程序可以使用此访问令牌在请求范围限制内跨域访问用户数据; 3、API访问:应用程序在 API 请求中包含访问令牌作为身份认证...除此之外,我们也可以阻止较低级别区域中实体获取服务账号访问令牌,确保只有相同或更高级别文件夹或项目中实体才能生成委派服务帐户访问令牌

11110

Kerberos安全工件概述

Kerberos principal 每个需要对Kerberos进行身份验证用户和服务都需要一个 principal,即一个实体,该实体在可能有多个Kerberos服务器和相关子系统上下文中唯一标识该用户或服务...通常,principal主要部分由操作系统中用户帐户名组成,例如 jcarlos用于用户Unix帐户或 hdfs主机基础集群节点上服务守护程序相关Linux帐户。...主要名称和领域名称组合可以将一个用户另一个用户区分开。...它们应由最少一组用户读取,应存储在本地磁盘上,并且不应包含在主机备份中,除非对这些备份访问对本地主机访问一样安全。...• 由NameNode使用TokenID 和生成TokenAuthenticatorNameNodemasterKey先前存储TokenAuthenticator匹配。

1.8K50

如何在Ubuntu 16.04上Jenkins中设置持续集成管道

但是,默认情况下,负责运行Jenkins进程Linux用户无法访问Docker。...在GitHub中创建个人访问令牌 为了让Jenkins能够浏览您GitHub项目,您需要在GitHub帐户中创建个人访问令牌。 首先访问GitHub并登录您帐户。...现在您已拥有GitHub帐户个人访问令牌,我们可以配置Jenkins来监视您项目的存储库。...访问项目存储库,然后单击右上角Fork按钮,在您帐户中制作存储副本: [项目存储库] 存储副本将添加到您帐户中。...当Jenkins收到通知时,它将检查代码,然后在Docker容器中对其进行测试,以将测试环境Jenkins主机隔离。欢迎访问腾讯云社区查看关于更多Jenkins相关内容。

6K30

【安全】如果您JWT被盗,会发生什么?

由于越来越多应用程序正在使用基于令牌身份验证,因此这个问题开发人员越来越相关,并且对于了解是否构建使用基于令牌身份验证任何类型应用程序至关重要。...正在使用应用程序相关任何其他数据 服务器端应用程序将此令牌返回给客户端 然后,客户端将存储令牌,以便将来可以用它来标识自己。...由于JWT用于识别客户端,如果其中一个被盗或受到攻击,攻击者可以完全访问用户帐户,就像攻击者破坏用户用户名和密码一样。...对于基于浏览器应用程序,这意味着永远不会将您令牌存储在HTML5本地存储中,而是将令牌存储在JavaScript无法访问服务器端cookie中。...这正是我们在Okta所做 - 我们运行一个API服务,允许您在我们服务中存储用户帐户,我们提供开发人员库来处理身份验证,授权,社交登录,单点登录,多因素等事务当用户登录由Okta提供支持应用程序时

11.7K30

使用OAuth 2.0访问谷歌API

例如,一个JavaScript应用程序可能会请求令牌使用浏览器重定向到谷歌访问,而一个应用程序,没有浏览器使用Web服务请求设备上安装。 一些请求需要在用户他们谷歌帐户登录验证步骤。...如果应用程序需要访问超出了单个访问令牌使用寿命谷歌API,它能够获得刷新令牌。刷新令牌可以让你应用程序,以获得新访问令牌。 注: 在安全长期存储保存刷新令牌,并继续只要他们保持有效使用它们。...服务帐户 谷歌API,如预测API和谷歌云存储可以代表你应用程序行为,而无需访问用户信息。在这种情况下,你应用程序需要证明自己身份API,但没有用户许可是必要。...用户更改密码,并刷新令牌包含Gmail作用域。 用户帐户已超过批准(现场)刷新令牌最大数量。 目前每个客户每个用户帐户50个刷新令牌限制。...如果达到了极限,自动创建令牌刷新无效毫无预兆令牌最古老刷新。此限制并不适用于服务帐户。 还有一个更大限度上刷新总数令牌用户帐户或服务帐户可以在所有的客户都有。

4.4K10

联合身份模式

或 Facebook帐户用户进行身份验证社交标识提供者。 该图说明了当客户端应用程序需要访问要求身份验证服务时联合身份模式。 身份验证由 STS 协同工作 IdP 执行。...IdP 颁发安全令牌,该安全令牌提供已进行身份验证用户信息。 该信息(又称为声明)包括用户标识,并且还可包含其他信息(如角色成员资格和更具体访问权限)。...应用程序通常需要维护注册用户一些信息,并能够将此信息令牌声明中包含标识符相匹配。 这通常通过用户首次访问应用程序时注册来完成,在每次身份验证之后,信息作为附加声明注入到令牌中。...STS 可以基于用户提供电子邮件地址或用户名、用户正在访问应用程序子域、用户 IP 地址范围或存储用户浏览器 cookie 中内容来自动执行此操作。...用户体验使用本地应用程序时用户体验相同,在登录到公司网络时进行身份验证,此后即可访问所有相关应用程序,无需再次登录。 多个合作伙伴联合身份。

1.7K20

Kubernetes 中用户身份认证授权

假设一个独立于集群服务由以下方式管理普通用户: 由管理员分发私钥 用户存储(如 Keystone 或 Google 帐户) 带有用户名和密码列表文件 K8s没有代表普通用户帐户对象,无法通过...Service Account 关联了一套凭证,存储在 Secret中,这些凭证同时被挂载到 pod 中,从而允许 pod K8s API 之间调用。...当向API Server发送HTTP请求时,认证插件将以下属性请求相关联: 用户名:标识最终用户字符串。常用值可能是 kube-admin 或 jane@example.com。...UID:标识最终用户字符串,比用户名更加一致且唯一。 组:一组将用户和常规用户相关字符串。 额外字段:包含其他有用认证信息字符串列表映射。...已签名JWT可以用作承载令牌,以验证为给定服务帐户。有关如何在请求中包含令牌,请参见上面的内容。通常,这些令牌被装入到pod中,以便在集群内对API Server进行访问,但也可以从集群外部使用。

1.5K10

OAuth 2.0身份验证

",然后客户端应用程序OAuth服务交换此代码以接收"Access Token",它们可用于进行API调用以获取相关用户数据。...z0y9x8w7v6u5 5、Resource grant 资源服务器应验证Token是否有效,以及它是否属于当前客户端应用程序,如果是,它将根据访问令牌相关作用域发送请求资源,即用户数据...(通常是用户ID和访问令牌)存储在某个地方。...OAuth服务中漏洞 A、授权码泄漏和访问令牌 最臭名昭著基于OAuth漏洞可能是OAuth服务本身配置使攻击者能够窃取授权码或访问与其他用户帐户相关令牌,通过窃取有效代码或令牌,攻击者可以访问受害者数据...,然后客户端应用程序可能允许攻击者通过OAuth提供程序此欺诈帐户作为受害者登录 OpenID Connect扩展OAuth 在用于身份验证时,OAuth通常使用OpenID连接层进行扩展,该层提供了一些识别和验证用户相关附加功能

3.2K10

KubernetesTop 4攻击链及其破解方法

步骤2:利用 如果集群使用默认设置,其中服务帐户令牌被挂载到集群中每个创建pod中,攻击者可以访问令牌并使用它来进行身份验证,从而访问Kubernetes API服务器。...为了在这种情况下减少攻击面,禁用pod配置中服务帐户自动挂载设置是一种方法。这将阻止服务帐户令牌被挂载到集群中每个pod,使黑客更难以探测集群并访问其他集群资源。...服务帐户令牌为他们提供了通过令牌相关服务帐户访问Kubernetes API服务器入口。...步骤3:横向 & 纵向移动 如果未启用RBAC或与pod相关RBAC策略过于宽松,攻击者可以使用受损pod服务帐户创建一个具有管理员权限新特权容器。...确保每个用户或服务帐户配置有访问网络资源所需最小权限,并限制未经授权用户创建特权角色绑定。 除了实施这些对策之外,定期审查RBAC策略和角色也是很重要,以确保权限不会漂移。

7110

从0开始构建一个Oauth2Server服务 应用列表及撤销授权

展现用户授权应用 一旦用户开始授权多个应用程序,允许许多应用程序访问他们帐户,就有必要提供一种方法来允许用户管理具有访问权限应用程序。这通常在帐户设置页面或帐户隐私页面中呈现给用户。...大多数提供商都有一个页面,其中列出了用户已授权其帐户使用所有应用程序。通常会显示一些关于应用程序信息,这些信息旨在为用户提供有关此应用程序何时以及为何可以访问上下文。...撤销授权 revoking access 出于多种原因,您可能需要撤销应用程序对用户帐户访问权限。...令牌数据库 如果将访问令牌存储在数据库中,那么撤销属于特定用户所有令牌就相对容易了。您可以轻松编写查询来查找和删除属于用户令牌,例如在令牌表中查找他们user_id....当然,这意味着您资源服务器不再进行纯粹无状态检查,因此这可能不是适用于所有情况选项。 您还需要使访问令牌一起颁发应用程序刷新令牌无效。

14840

海量数据存储访问瓶颈解决方案-数据切分

这些海量数据存储访问成为了系统设计使用瓶颈,而这些数据往往存储在数据库中,传统数据库存在着先天不足,即单机(单库)性能瓶颈,并且扩展起来非常困难。...数据切分 数据切分,简单说,就是通过某种条件,将我们之前存储在一台数据库上数据,分散到多台数据库中,从而达到降低单台数据库负载效果。...还是之前例子,如果出现了一个爆款商品,订单量急剧上升,达到了单机性能瓶颈,那么你所有和订单相关业务都要受到影响。这时我们就要用到水平切分。 水平切分 水平切分相比垂直切分,更为复杂。...我们看看几种水平拆分典型分片规则: 用户id求模,我们前面已经提到过; 按照日期去拆分数据; 按照其他字段求模,去拆分数据; [1566891219038] 上面是按照用户id去求模拆分一个示意图...无论是垂直切分,还是水平切分,它们解决了海量数据存储访问性能问题,但也随之而来带来了很多新问题,它们共同缺点有: 分布式事务问题; 跨库join问题; 多数据源管理问题 针对多数据源管理问题

1.7K61

使用Kubernetes新绑定服务账户令牌来实现安全工作负载身份

身份组件不仅验证令牌是否有效,而且还验证令牌是否请求证书同一个 pod 相关联。这可以通过查看 TokenReview 响应中 Status.User.Username 来验证。...Kubernetes API 将用户名设置为该令牌所附加 pod 名称。 只有 Linkerd 中身份组件有必要 API 访问来验证令牌。...这个身份甚至被连接到 Linkerd 指标中:每当一个网格化请求被接收或发送时,相关指标也包括该对等体相关服务帐户。...授权策略 Linkerd 新授权策略特性允许用户指定一组只能访问一组资源客户端。...绑定服务帐户令牌(在 Kubernetes v1.20 中 GA 了)特性允许组件根据需求从 API 服务器请求特定服务帐户令牌,这些令牌被绑定到特定目的(而不是默认,用于访问 API 服务器)。

1.6K10

GitHub:OAuth 令牌被盗,数十个组织数据被窃

GitHub 4月15日透露,网络攻击者正使用被盗 OAuth 用户令牌从其私有存储库下载数据。...““我们对攻击者其他行为分析表明,他们可能正在挖掘下载私有存储库内容,被盗 OAuth 令牌可以访问这些内容,以获取可用于其他基础设施秘密。”...4月13日,在发现第三方 OAuth 令牌被盗窃后,GitHub已立即采取行动,通过撤销 GitHub 相关令牌和 npm 对这些受感染应用程序内部使用来保护数据。...虽然攻击者能够从受感染存储库中窃取数据,但 GitHub 认为,npm 使用 GitHub 完全独立基础设施, GitHub没有任何包被修改,也没有在攻击中出现访问用户帐户数据或凭证泄露情况。...此外,也未有任何证据表明,攻击者使用被盗第三方 OAuth 令牌克隆了其他 GitHub 私有存储库。 目前调查仍在继续,GitHub 已将有关情况通知给所有受影响用户和组织。

55520

21条最佳实践,全面保障 GitHub 使用安全

但根据北卡罗来纳州立大学一项研究,对超过一百万个 GitHub 帐户进行为期六个月连续扫描显示,包含用户名、密码、API 令牌、数据库快照、加密密钥和配置文件文本字符串,是可以通过 GitHub...这能够有效缓解在向 GitHub 帐户授予可访问性时可能发生潜在安全风险。 ​ 7. 限制访问允许 IP 地址 对于大型企业而言,跟踪访问用户既困难又耗时。...防止不必要访问方法是限制通过IP地址访问。这意味着只有内部部署成员或有权访问公司维护静态 IP 远程网络成员才能进入企业代码存储库和相关代码工作。...此文件目的是正式记录安全相关流程和程序,包括漏洞报告、机密性要求、加密标准、令牌访问性、电子邮件地址使用、HTTPS 要求、云使用、CDN、备份、身份验证要求过程以及数据完整性维护过程。...最好在安全要求策略中对所有 SSH 密钥和个人访问令牌设置到期日期。需要注意,虽然可以通过 GitHub API 自动进行 SSH 密钥轮换,但更改个人访问令牌是手动过程,只能由用户完成。

1.7K40
领券