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

一步一步教会你如何使用Java构建单点登录

在本文中,我向您展示如何使用Okta和Spring Boot通过两个客户端应用程序和一个资源服务器来实现单点登录。...我还将讨论如何使用访问策略来强制执行身份验证和授权策略,以及如何基于应用程序范围来限制对资源服务器访问。在进入代码之前,您需要适当用户身份验证配置。...创建授权服务器Okta最后一步是创建和配置授权服务器。这使您可以配置自定义声明并设置自定义访问策略。这确定Okta是否在请求令牌时发出令牌,该令牌控制用户访问客户端应用程序和资源服务器能力。...它确保通过对POST请求响应来传递所有敏感信息(如令牌)。接下来,您将为第二个应用程序添加访问策略。此应用程序仅允许第二个用户Tanya Tester对其进行访问。...第一个客户端应用程序对任何经过身份验证用户(通过Okta单点登录进行身份验证任何用户)开放。第二个应用程序仅限于用户Tanya Tester。

3.4K30

【应用安全】 使用Java创建和验证JWT

如果您想深入挖掘,请查看JWT规范或深入了解有关在Spring Boot应用程序中使用JWT进行令牌身份验证更长篇文章。 什么是JWT?...它是构建基于原始类型(数字,字符串等)数据紧凑方式。你可能已经非常熟悉JSON了。它就像没有所有括号XML。 令牌可用于在各方之间发送任意状态。通常这里“聚会”表示客户端Web应用程序服务器。...因为JWT在客户端应用程序服务器之间来回传递,这意味着状态数据不必存储在某个数据库中(并随后在每个请求中检索);因此,它可以很好地扩展。...标题包含有关如何编码JWT信息。身体是令牌肉(声称存在地方)。签名提供安全性。 关于如何编码令牌以及如何信息存储在正文中,我们将不会详细介绍这些细节。如果需要,请查看前面提到教程。...此外,以下是来自Okta博客更多链接,以便您继续: Java应用程序简单令牌认证 开始使用Spring Boot,OAuth 2.0和Okta 10种保护Spring Boot应用程序绝佳方法 如果您

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

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

因为JWT只是URL安全字符串,所以它们很容易通过URL参数等传递。...客户端(通常是浏览器或移动客户端)访问某种登录页面 客户端将其凭据发送到服务器应用程序 服务器应用程序验证用户凭据(通常是电子邮件地址和密码),然后生成包含用户信息JWT。...与正在使用应用程序相关任何其他数据 服务器应用程序将此令牌返回给客户端 然后,客户端存储此令牌,以便将来可以用它来标识自己。...,它将解析标记并使用“密钥”验证它 最后,如果令牌有效并且循环完成,则服务器应用程序处理请求 简而言之:JWT用于识别客户端。...在Web或移动应用程序上下文中,强制您用户立即重置其密码,最好通过某种多因素身份验证流程,如Okta提供那样。

11.8K30

oidc auth2.0_使用Spring Security 5.0和OIDC轻松构建身份验证「建议收藏」

今天,我向您展示如何Okta中使用OAuth 2.0登录支持。...我还将向您展示如何通过OpenID Connect(OIDC)检索用户信息。 您知道Okta提供免费开发人员帐户 ,每月最多有7,000个活跃用户,对吗?.../mvnw spring-boot:run提示您登录。 Spring Security 4.x通过基本身份验证而不是登录表单提示您,因此这与Spring Security 5有所不同。...添加身份验证 在上一教程中 ,我向您展示了如何使用Spring Security OAuth为您应用程序提供SSO。...给应用程序起一个您将记住名称,http://localhost:8080指定为基本URI,并将http://localhost:8080/login/oauth2/code/okta为登录重定向URI

3K20

OAuth2.0 OpenID Connect 一

如果没有安全外部身份验证和授权,您必须相信每个应用程序和每个开发人员不仅会考虑您最大利益和隐私,而且知道如何保护您身份并愿意跟上安全最佳实践. 这是一个相当高要求,对吧?...OP 是一个OAuth 2.0服务器,能够对最终用户进行身份验证,并向依赖方提供有关身份验证结果和最终用户信息。依赖方是一个 OAuth 2.0 应用程序,它“依赖”OP 来处理身份验证请求。...考虑因素包括应用程序类型(如基于 Web 或本机移动应用程序)、您希望如何验证令牌(在应用程序中或在后端)以及您希望如何访问其他身份信息(进行另一个 API 调用或拥有它直接编码成令牌)。...然后可以这些令牌返回给最终用户应用程序,例如浏览器,而浏览器不必知道client secret. 此流程允许通过使用refresh tokens....或者,他们订阅到期。或者,他们被解雇了。在任何时候,管理员都可以撤销刷新令牌。然后,上面的第三步失败,用户将被迫(尝试)通过身份验证建立一个新会话。

30230

10 种保护 Spring Boot 应用绝佳方法

服务器使用名为Strict-Transport-Security响应头字段HSTS策略传送到浏览器。...如果使用OIDC进行身份验证,则无需担心如何存储用户、密码或对用户进行身份验证。相反,你可以使用身份提供商(IdP)为你执行此操作,你IdP甚至可能提供多因素身份验证(MFA)等安全附加组件。...你可以使用像Keycloak这样开源系统来设置自己OIDC服务器。如果你不想在生产中维护自己服务器,可以使用OktaDeveloper API。 7.管理密码?使用密码哈希!...8.安全地存储秘密 应谨慎处理敏感信息,如密码,访问令牌等,你不能以纯文本形式传递,或者如果将它们保存在本地存储中。...在Okta,我们所有的生产代码和官方开源项目都需要通过我们专家安全团队进行分析,你公司可能没有安全专家,但如果你正在处理敏感数据,也许你应该这样做!

2.4K40

进攻性横向移动

那里有几种不同横向移动技术,我尝试从高层次概述中介绍大以及它们如何工作,但在介绍这些方法之前,让我们澄清一些术语。 命名管道:一种进程通过 SMB (TCP 445) 相互通信方式。...当用户登录时,系统通过将其与存储在安全数据库中信息进行比较来验证用户密码。当用户凭据通过身份验证时,系统会生成访问令牌。代表此用户执行每个进程都有此访问令牌副本。...使用 WebDAV XML 文件托管在不需要身份验证 SMB 共享上(例如,使用Impacket SMBServer.py,但很可能需要攻击者攻击机器连接到网络上) 尝试其他类似的“ExecuteShellCommand...对于 WebDAV,SSL 也是一个选项。唯一需要注意WebDAV 不能在服务器上运行,因为默认情况下服务器操作系统上不存在该服务。...\build.xml","7") 这通过不需要任何身份验证来访问 WebDAV 服务器(在本例中也是 C2 服务器)解决了双跳问题。

2.1K10

【安全设计】10种保护Spring Boot应用程序绝佳方法

服务器使用名为Strict-Transport-Security响应头字段HSTS策略与浏览器通信。Spring Security在缺省情况下发送此头,以避免在开始时不必要HTTP跳转。 2....下图显示了OIDC如何进行身份验证。 ? 如果使用OIDC进行身份验证,就不必担心存储用户、密码或身份验证用户。相反,您将使用标识提供程序(IdP)为您完成这项工作。...您可以使用像Keycloak这样开源系统来设置自己OIDC服务器。如果您不希望在生产中维护自己服务器,可以使用Okta开发人员api。...存储机密安全 密码、访问令牌等敏感信息应谨慎处理。您不能将它们放在周围,不能以纯文本形式传递它们,或者如果将它们保存在本地存储中,则不能进行预测。...Vault使用被分配给策略令牌,这些策略可以作用于特定用户、服务或应用程序。还可以与常见身份验证机制(如LDAP)集成以获得令牌

3.6K30

Spring Boot十种安全措施

服务器使用名为Strict-Transport-Security响应头字段HSTS策略传送到浏览器。Spring Security默认发送此标头,以避免在开始时出现不必要HTTP跃点。...如果使用OIDC进行身份验证,则无需担心如何存储用户、密码或对用户进行身份验证。相反,你可以使用身份提供商(IdP)为你执行此操作,你IdP甚至可能提供多因素身份验证(MFA)等安全附加组件。...你可以使用像Keycloak这样开源系统来设置自己OIDC服务器。如果你不想在生产中维护自己服务器,可以使用OktaDeveloper API。 7.管理密码?使用密码哈希!...8.安全地存储秘密 应谨慎处理敏感信息,如密码,访问令牌等,你不能以纯文本形式传递,或者如果将它们保存在本地存储中。...在Okta,我们所有的生产代码和官方开源项目都需要通过我们专家安全团队进行分析,你公司可能没有安全专家,但如果你正在处理敏感数据,也许你应该这样做!

2.6K10

OFFENSIVE LATERAL MOVEMENT 横向移动(译文)

令牌信息包括与进程或线程关联用户帐户标识和特权。当用户登录时,系统通过将用户密码与安全数据库中存储信息进行比较来验证用户密码。验证用户凭证后,系统生成访问令牌。...由于凭据没有发送到远程主机,因此远程主机无法向有效负载托管服务器进行身份验证。在Cobalt Strike中,使用wmic时通常会遇到这种情况,解决方法是为该用户创建令牌,因此可以从该主机传递凭据。...使用WebDAVXML文件托管在不需要身份验证SMB共享上(例如,使用ImpacketSMBServer.py,但很可能要求攻击者在网络上拥有攻击机器) 尝试其他类似的“ ExecuteShellCommand...使用WebDAV,SSL也是一个选择。唯一需要注意是,WebDAV服务器上不起作用,因为默认情况下该服务在服务器操作系统上不存在。...\build.xml","7") 通过不需要任何身份验证即可访问WebDAV服务器(在本例中也是C2服务器),从而解决了双跳问题。

4.1K10

这些保护Spring Boot 应用方法,你都用了吗?

服务器使用名为Strict-Transport-Security响应头字段HSTS策略传送到浏览器。Spring Security默认发送此标头,以避免在开始时出现不必要HTTP跃点。 2....如果使用OIDC进行身份验证,则无需担心如何存储用户、密码或对用户进行身份验证。相反,你可以使用身份提供商(IdP)为你执行此操作,你IdP甚至可能提供多因素身份验证(MFA)等安全附加组件。...你可以使用像Keycloak这样开源系统来设置自己OIDC服务器。如果你不想在生产中维护自己服务器,可以使用OktaDeveloper API。 7....安全地存储秘密 应谨慎处理敏感信息,如密码,访问令牌等,你不能以纯文本形式传递,或者如果将它们保存在本地存储中。...在Okta,我们所有的生产代码和官方开源项目都需要通过我们专家安全团队进行分析,你公司可能没有安全专家,但如果你正在处理敏感数据,也许你应该这样做! 给大家推荐一个程序扣群:854818273。

2.2K00

谁动了你数据?

我们来看看,它是如何做到。...尽管Snowflake或Redshift这样现代数据库的确可以通过Okta或IAM支持原生SSO,但大多数业务用户使用BI工具(如Looker、Tableau、Thoughtspot等)通过单个服务帐户来访问数据...应用程序可以在微服务之间传递身份验证令牌,以验证用户身份并做出授权决策。但是,一旦微服务接触到数据,它就会切换到共享服务帐户,于是身份上下文就丢失了。...我们使用相同SSO身份验证机制,检索相同JWT,并通过微服务传递身份验证令牌。然后,我们要做一些新颖事情:我们还将这个身份验证令牌传递给DSPSidecar(边车)代理。...有了DSPSidecar代理,我们就可以使用标准SSO工具,向我们数据库进行身份验证应用程序用户和非应用程序用户(如SRE、DBA、部署工具)都可以通过SSO进行身份验证

93930

OAuth 详解 什么是 OAuth?

它支持服务器服务器应用程序、基于浏览器应用程序、移动/本机应用程序和控制台/电视。 您可以将其视为酒店钥匙卡,但用于应用程序。如果您有酒店钥匙卡,则可以进入您房间。您如何获得酒店钥匙卡?...它们不在桌面上运行或通过应用程序商店分发。人们无法对它们进行逆向工程并获得密钥。它们在最终用户无法访问受保护区域中运行。 公共客户端是浏览器、移动应用程序和物联网设备。...幸运是,OAuth 如今已经相当成熟,而且您最喜欢语言或框架很可能有可用工具来简化事情。 我们已经讨论了一些有关客户端类型、令牌类型和授权服务器端点以及我们如何将其传递给资源服务器内容。...它假定资源所有者和客户端应用程序位于不同设备上。这是最安全流程,因为您可以对客户端进行身份验证以兑换授权授予,并且令牌永远不会通过用户代理传递。...它是本地用户名/密码应用程序(例如桌面应用程序传统授权类型。在此流程中,您向客户端应用程序发送用户名和密码,然后它从授权服务器返回访问令牌

4.4K20

开发中需要知道相关知识点:什么是 OAuth?

它支持服务器服务器应用程序、基于浏览器应用程序、移动/本机应用程序和控制台/电视。 您可以将其视为酒店钥匙卡,但用于应用程序。如果您有酒店钥匙卡,则可以进入您房间。您如何获得酒店钥匙卡?...客户可以是公开和保密。两者在 OAuth 命名法上有显着区别。可以信任机密客户端来存储秘密。它们不在桌面上运行或通过应用程序商店分发。人们无法对它们进行逆向工程并获得密钥。...幸运是,OAuth 如今已经相当成熟,而且您最喜欢语言或框架很可能有可用工具来简化事情。 我们已经讨论了一些有关客户端类型、令牌类型和授权服务器端点以及我们如何将其传递给资源服务器内容。...它假定资源所有者和客户端应用程序位于不同设备上。这是最安全流程,因为您可以对客户端进行身份验证以兑换授权授予,并且令牌永远不会通过用户代理传递。...它是本地用户名/密码应用程序(例如桌面应用程序传统授权类型。在此流程中,您向客户端应用程序发送用户名和密码,然后它从授权服务器返回访问令牌

21440

Java 新手如何使用Spring MVC RestAPI加密

本文介绍如何使用Spring MVC和一些加密技术来保护您RestAPI,以确保数据在传输过程中是安全。 为什么需要加密RestAPI?...HTTPS是HTTP安全版本,它通过使用SSL/TLS协议来加密数据传输。Spring Boot可以通过配置来启用HTTPS。 首先,我们需要为应用程序生成一个自签名SSL证书。...使用JWT实现令牌身份验证 为了更进一步提高安全性,我们可以使用JWT(JSON Web Token)来实现令牌身份验证。JWT是一种轻量级令牌,通常用于在客户端和服务器之间传递身份验证信息。...我们首先了解了为什么需要加密RestAPI以及如何使用HTTPS来加密通信。然后,我们引入了Spring Security以实现基本身份验证,并最终使用JWT来实现令牌身份验证。...通过这些安全性措施整合到您应用程序中,您可以确保您RestAPI在传输和访问时是安全,从而保护用户数据和隐私。这对于构建现代Java应用程序来说至关重要,特别是在处理敏感信息情况下。

16610

JWT-JSON Web令牌深入介绍

JWT-JSON Web令牌深入介绍 从桌面应用程序到Web应用程序或移动应用程序身份验证是几乎所有应用程序中最重要部分之一。...本教程是JWT(JSON Web令牌深入介绍,可帮助您了解: 基于会话身份验证与基于令牌身份验证(为什么JWT诞生了) JWT是如何工作如何创建JWT。...签名 结合一切 JWT如何保护我们数据 服务端如何校验从客户端过来JWT 结论 进一步阅读 基于会话身份验证和基于令牌身份验证 对于使用任何网站,移动应用程序桌面应用程序……您几乎需要创建一个帐户...让我们转到下一部分,我们知道它是如何工作。 JWT是如何工作 现在看下面的流程: ? 您会发现它很容易理解。 服务器没有创建会话,而是从用户登录数据生成了JWT,并将其发送给客户端。...但是,对于要在许多平台上扩展为大量用户应用程序,首选JWT身份验证,因为令牌存储在客户端。 祝您学习愉快,再见!

2.3K30

OAuth2.0 OpenID Connect 三

OAuth2.0 OpenID Connect 三 JWT 好处是能够在其中携带信息。有了可用于您应用程序此信息,您可以轻松强制执行令牌过期并减少 API 调用次数。...影响最终将在返回令牌和/userinfo端点中找到内容两个查询参数是response_type和scope。 OIDC 响应类型 目前,我们搁置scope并专注于response_type....在令牌中包含自定义声明能力(可通过密码验证)是身份提供者一项重要功能。Okta 实现为此提供了支持。...@afitnerd.com" } 由于它需要 OIDC 客户端 ID 和密码,因此此操作通常会在可以安全拥有这些凭据应用程序服务器中完成。...使用声明中找到公钥n和安全库,我们可以确认 ID 令牌未被篡改。所有这些都可以在最终用户 SPA、移动应用程序等上安全地完成。

22130

Obsidian笔记软件无公网远程同步数据到Windows系统WebDAV

同步手机端笔记至WebDav 前言 本篇文章来和大家分享如何实现多设备Obsidian笔记云同步。...” 启用创作规则 添加创建规则 选择webdav站点,进入”身份认证“ 启用”基本身份验证”,禁用“Windows身份验证”、”匿名身份验证” 选中“webdav”,进入“目录浏览” 点击‘启用’ 2....复制其中一个公网地址打开一个新浏览器。可以看到我们成功使用Cpolar创建固定公网地址访问到了WebDav当中,输入用户名密码即可登录。...同步PC端笔记至WebDav 4.1 首先需要在IIS中添加md格式 桌面左下角搜索“IIS”,打开“MIME”, 点击右上角“添加” 添加.md格式 文件扩展名填写: .md MIME类型:text...IP也可以,而且无需购买云服务器

9810

如何在Ubuntu 18.04上配置多重身份验证

本教程足以应用于本地和远程服务器桌面安装。 先决条件 在开始本指南之前,您需要以下内容: 一个Ubuntu 18.04服务器桌面环境。...第一个问题询问您是否希望令牌基于时间。 基于时间身份验证令牌将在一段时间后过期,在大多数系统上默认为30秒。 基于时间令牌比不基于时间令牌更安全,并且大多数2FA实现使用它们。...您验证码:这是此特定QR码生成第一个六位数验证码。 您紧急暂存代码:也称为备用代码,如果您丢失了身份验证设备,这些一次性令牌允许您通过2FA身份验证。...注意:如果要在通过SSH访问远程计算机上启用2FA,例如DigitalOcean Droplet,则需要按照Ubuntu 16.04上的如何为SSH设置多重身份验证指南中第2步和3进行操作,然后再继续执行此操作教程...Droplet或受证书身份验证保护其他远程服务器上进行测试,则不会提示您输入密码,您密钥将自动传递和接受。

2.6K30

如何在微服务架构中实现安全性?

API Gateway 还可以安全令牌用作会话令牌 模式:访问令牌 API Gateway 包含用户信息(例如其身份和角色)令牌传递给它调用服务。...图 4 显示了APIGateway如何验证来自API客户端请求。APIGateway通过向OAuth 2.0授权服务器发出请求来验证API客户端,该服务器返回访问令牌。...然后,API Gateway包含访问令牌一个或多个请求发送到服务。 ? 图4 API Gateway 通过向 OAuth 2.0 身份验证服务器发出请求来验证 API 客户端。...身份验证服务器返回访问令牌,API Gateway 将其传递给服务。...如果刷新令牌尚未过期或未被撤消,则授权服务器返回新访问令牌。API Gateway 访问令牌传递给服务并将其返回给客户端。 使用 OAuth 2.0 一个重要好处是它是经过验证安全标准。

4.7K30
领券