使用 Auth0 作为身份提供者的静默 SAML 身份验证

Silent SAML Authentication using Auth0 as Identity Provider

我正在尝试做的是使用 SAML 2.0 协议以 Auth0 作为身份提供者的静默身份验证。我不想使用 Auth0 SDK,因为服务器提供者的目的是能够在身份提供者之间进行更改。我读过这个post and this other。 我从

更新了我的登录名 url
https://{your_domain}.auth0.com/samlp/{client_id}

https://{your_domain}.auth0.com/samlp/{client_id}={connection your_db_connection_name}

如第一个 link 中所述,但这只允许我在用户已经存在会话时避免重定向。第二个link引用了url中的一个参数:

prompt = none

但是这个是针对OpenId Connect协议的,所以帮不了我。

当前流程如下:

  1. 用户将凭据发送到我的服务器提供商(这是无用的,因为 Auth0 需要他的小部件中的凭据)
  2. 服务器提供商向 Auth0 请求 SAML 身份验证
  3. Auth0 将用户重定向到他的登录小部件(用户输入 再次凭据)
  4. 用户获得访问权限

我要实现的是:

  1. 用户将凭据发送到我的服务器提供商
  2. 服务器提供商集成了凭据(这是我做的地方 不知道如何)在 SAML 2.0 请求中
  3. Auth0 接收并验证凭据(没有任何类型的 重定向)
  4. 用户获得访问权限

我在用什么:


我是 SAML 和 Auth0 的新手,我还不太了解。欢迎任何指导或建议。谢谢。

(如果我的英文有问题,请不要犹豫评论,谢谢)

我研究过这个,发现不可能实现(现在不行,也许将来)。

使用 HTTP-Post 绑定允许仅在用户会话已存在时避免重定向。如果没有,用户将被重定向到 IdP 登录页面(在本例中为 Auth0 的登录页面)

SAML协议中有一个配置文件,叫做Enhanced Client or Proxy(ECP),但很少使用,推荐用于不能使用浏览器的应用。

此外,只有一些 IdP 支持它,例如 Keycloak and Shibboleth