微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

想象一下,你有一个安全的应用程序,让它成为 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 将其发送到身份提供者?甚至有可能实施我的案例吗?

谢谢!

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?