【发布时间】:2015-06-15 21:17:08
【问题描述】:
我无法将所有这些联系在一起。部分原因是缺乏理解,部分原因是我以前没有使用过 OpenAM。
我正在尝试实施单点登录。这是球员。
- OpenAm。 https://www.forgerock.com/en-us/products/access-management/
- 第 3 方专有应用,可以使用自己的用户名/密码数据库,或针对 SAML 或 OpenId 提供者进行身份验证。
- 用 angularjs 或 .net webforms 编写的多个内部应用程序。
- 用 nodejs 编写的内部 REST API。
我需要能够让用户在 openam 中登录/注册,然后他们不会登录到任何其他应用程序。我们在整个网络上都看到了这一点,所以用例很正常,但我以前从未真正自己实现过。
使用下面的图片了解我正在尝试做的事情。
这就是我正在努力解决的问题:
出于 SSO 的目的,OpenAM 似乎将经过身份验证的用户信息存储在 cookie 中。如果我的专有应用程序只能通过 openid 或 saml 进行身份验证,我的专有应用程序如何获取并使用它?它不能通过 /json/* 端点来使用 openam API。
对于内部应用程序,我假设我可以传递 cookie,相关方可以验证 cookie 的会话信息或令牌,仅此而已。这是正确的,还是我看错了?
我可以让用户登录到 OpenAm 登录页面,然后使用 /oauth2/* 端点来验证用户的请求吗?我可以看到这工作得更好,但不确定这是否应该发生。
基本上,我觉得上周我想解决这个问题。我需要一些帮助才能在这里找到方向。正如我上面所说,其中很大一部分是新的。我已经使用令牌完成了前端->rest api->数据库,但是这种 SSO 场景让我非常头疼。
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net node.js rest token openam