将 OpenAm 配置为中间身份验证 REST 服务,它使用另一个服务进行身份验证

时间:2021-02-05 07:43:23

标签: devops openid-connect openid saml openam

我有一项非常有趣且艰巨的任务。我需要的是实现下一个身份验证链。

想象一下,你有一个安全的应用程序,让它成为 java Spring Boot 应用程序,但这没关系。接下来是身份验证流程:

  1. 用户第一次进入我的 Spring Boot 应用并查看登录表单。
  2. 用户输入他的用户名和密码。
  3. 我的应用程序获取这些数据并将 REST 请求发送到 openAm 实例。
  4. OpenAm 实例接收请求、获取用户凭据并通过 SAML 向另一个身份服务发送另一个身份验证请求。
  5. 如果身份服务说该用户存在,OpenAm 会配置 JWT-Token 并将其发送回我的应用作为响应。
  6. 我的应用程序将此 JWT 发送回客户端,客户端将此 jwt 令牌与每个下一个请求一起发送到我的后端,后端会验证此令牌。

我的问题是我是 SSO 和 OpenAm 的新手。但是我已经完成的是我修改了 OpenAm 的两个实例。一个用作身份服务器,第二个用作服务提供者。但我不知道接下来要做什么。

如何配置作为服务提供者的 OpenAm 实例,以便能够接收带有用户凭据的简单 REST 请求,然后通过 SAML 将其发送到身份提供者?甚至有可能实施我的案例吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这在您使用基于 OpenAM REST 的身份验证时不起作用,但是当您使用 OpenAM 从您的应用程序执行 SSO 时它会起作用,例如通过 SAML 或 OIDC 或 REST SSO 调用。 OpenAM 然后可以充当“联邦中心”。在 OpenAM,您可以通过 SAML 或 OIDC 将身份验证委托给进行实际身份验证的上游 IdP。