SAML 身份验证开发人员指南 [3 Online Tools]

在当今世界,简化密码管理至关重要。 随着公司在数字化方面的飞跃,员工比以往任何时候都更多地使用协作、消息传递和存储工具。

这对开发人员提出了挑战:您如何为员工提供对存储在云中的内部应用程序和数据的安全访问? 对于许多人来说,答案是 SAML 身份验证!

什么是 SAML?

安全断言标记语言或 SAML 是一种简化身份验证过程的开放标准。 它基于 XML(可扩展标记语言),它标准化了要验证的实体与 Web 服务或应用程序之间的通信。 换句话说,SAML 使得使用单个登录登录多个不同的应用程序成为可能。

一方面,服务提供商需要身份提供商 (IdP) 身份验证来向用户授予授权。 例如,Salesforce 是依靠身份提供商进行用户身份验证的服务提供商。

另一方面,身份提供者验证最终用户就是他们所说的那个人,并将该数据连同用户对服务的访问权限一起发送给服务提供者。 一个例子是 AuthO,它是提供身份解决方案的领导者之一。

SAML 单点登录呢?

SAML 的主要作用之一是启用 SSO。 在 SAML 之前,SSO 是可能的,但依赖于 cookie,并且只能在同一个域上可行。

SAML 允许用户使用单个登录名和一组凭据访问多个应用程序,从而实现单点登录 (SSO)。 虽然 SAML 并不新鲜,但它从 2002 年就已经存在,许多新的应用程序和 SaaS 公司都在将 SAML 用于 SSO。 其最新版本 SAML 2.0 支持基于 Web 的跨域 SSO,是资源授权的标准。

SAML 身份验证有什么好处?

SAML 为安全、用户和其他服务提供商 (SP) 带来了许多好处。

  如何修复 Apple Watch 没有收到通知的问题

简单性:用户只需登录 IdP 一次,即可享受对所有应用程序的无缝且更安全的访问。

提高安全性:许多 SP 没有时间或资源在登录时实施和实施安全用户身份验证。 通常,IdP 能够更好地验证用户身份。 通过将身份验证返回给 IdP,SAML 启用了可以应用多层安全性的安全身份验证,例如 MFA。

改进的用户体验:使用 SAML,您的用户可以告别试图记住多个用户名和密码的头痛

减少管理开销:服务提供商可以在不存储密码的情况下提高其平台安全性。 无需处理忘记密码的问题。 帮助台可降低成本并让技术团队腾出时间来处理其他紧急请求。

什么是 Auth0,它是如何连接到 SAML 身份验证的?

Auth0 是一个提供用户认证和授权服务的平台。 它可以同时作为 IdP 和 SP。 Auth0 提供可与 SAML 集成的通用登录。 开发人员经常将 Auth0 与 SAML 结合使用,通过拥有多个 IdP 来分散风险。

Auth0 几乎可以与所有主要语言和 API 一起使用。 它还可以与社交提供者、数据库和 LDAP 目录集成。

SAML SSO 流程

SAML 的主要作用之一是启用单点登录 (SSO)。在 SAML 之前,SSO 是可能的,但依赖于 cookie 并且仅在同一域上可行。

SAML 通过允许用户使用单个登录名和凭据访问多个应用程序来启用 SSO。 SAML 并不是新事物,它从 2002 年就已经存在,许多新的应用程序和 SaaS 公司都在将 SAML 用于 SSO。 其最新版本 SAML 2.0 支持基于 Web 的跨域 SSO,是资源授权的标准。

具体而言,这涉及当用户使用不同的应用程序时,仅向用户请求一次身份验证。 例如,我们可以想到 Google 身份验证,在 Gmail、Youtube、Google Apps 等不同服务之间共享。

在这种操作模式下,Google 是其服务的身份提供者 (IdP)。 这些服务被称为“服务提供者”(SP)。

验证

连接到外部应用程序时,它将未知用户发送到公司 IdP。 此 IdP 是可通过 HTTPS 访问的 Web 服务。 它可以在内部或外部托管。

  无法在 Microsoft Teams 上共享屏幕 – PC 和移动设备修复

内部认证

然后,用户向 IdP 证明他们的身份。 此阶段可以通过显式身份验证(登录名/密码)或传播预先存在的令牌来完成。

断言的生成

然后 IdP 将生成一个“令牌”,一种用户身份卡,仅对所请求的服务和给定时间有效。 在这个令牌中,我们将特别发现:

  • 用户的身份:登录、电子邮件或其他字段
  • 可选的附加属性:姓氏、名字、语言等。
  • 令牌的有效期
  • IdP 对令牌的签名

从 IdP 到 SP 的传输

在最实用的模式下,断言不是直接从 IdP 传递到 SP,而是通过用户自己传递。 通过 HTTP 反弹机制,IdP 将向客户端浏览器提供令牌以传输给服务提供者。 它可以与县提供的身份证进行比较,以提交给任何当局。

SP 对代币的消费

服务提供者从用户那里接收令牌。 SP 已选择信任此 IdP。 它还验证令牌的签名和完整性,以及有效期。 如果测试是结论性的,则 SP 向用户打开一个会话。

资料来源:维基百科

SAML 身份验证与。 用户授权

SAML 身份验证经常与授权相混淆。 为清楚起见,区分身份验证和授权的概念很重要。

Authentication:是对用户身份的验证; 基本上,可以验证他们是否是他们所说的人。 一个例子是使用电子邮件和密码访问系统——单个会话或登录其他平台。

授权:这是用户授予第三方工具以访问其帐户中的资源的权限。 经用户批准后,授权协议无需访问其凭据即可交换令牌。 当允许平台(如 Facebook)从您的 Google 帐户访问某些信息时,您通常会这样做。

SAML 的必知术语

SAML 断言

SAML 断言通常由身份提供者传递给服务提供者。 断言包含服务提供者用来做出访问控制决策的语句。 SAML 提供了三种类型的声明:

  • 身份验证语句断言服务提供者确实在给定时间使用身份验证方法通过身份提供者进行了身份验证。
  • 属性声明断言主题与某些属性相关联。 属性只是一个名称-值对。 依赖方使用这些属性来做出访问控制决策。
  • 授权的决策声明断言,允许受试者通过提供证据来对资源采取行动。 SAML 中授权决策状态的表达是故意限制的。

断言消费者服务

断言消费者服务或 ACS 是身份提供者在用户身份验证响应之后重定向的点。 身份提供者重定向的点是传输个人信息的 HTTPS 端点。

默认继电器状态

它是 SAML 消息通过身份验证后重定向用户的默认 URL。 默认中继状态用于协调 IdP 和 SP 之间的消息。

SAML 是一种广泛使用的协议,通常需要对 SAML 断言进行解码。 以下是一些用于编码、解码和格式化 SAML 消息和断言的最佳 SAML 工具:

  使用这些解决方案开始您的时事通讯并赚钱

#1。 SAML工具

SAMltool by OneDesign 是在线 SAML 工具和工具包的集合。 其中包括用于编码和解码 SAML 消息、加密和解密断言以及签名和验证 SAML 消息和断言的各种工具。 SAMLtool 还提供了几个不同的插件来将这些工具与多个 CMS 集成。

#2。 Samtool.io

由 Auth0 提供, samltool.io 是一个在线工具,您还可以通过简化粘贴原始 XML 或包含请求的 URL 来解码、检查和验证 SAML 消息和断言。

#3。 SAM解码器

SAM解码器 是 PingIdentity 提供的用于解码 SAML 的简单在线工具。 SAM 解码器可用于解码、扩充和格式化 SAML 消息、断言和元数据。

最后的话

SAML 标准对于实现基于标记语言的中央身份验证实例非常有用。 它的显着优势之一是它提供了高效率和高安全标准。

特别是,由于单个应用程序不必存储或同步用户数据,因此可以最大限度地减少可能的安全漏洞数量。 通过这种方式,实现了主要目标之一,即在高度安全性与最佳易用性之间进行协调。

您还可以查看一些最好的用户身份验证平台。