Web 服务和身份验证与授权困境
Web services and authentication & authorization dilemma
当前设置:
- App2 是现有的 Web 应用程序,旨在让用户能够执行
交易。有登录。全球访问。
- App1 是一个没有登录的纯信息应用程序。全球访问。
提议的更改:
- App1 现在将具有用户登录和一些新功能
- 它的部分新功能是拥有一些交易后端
应用程序 2
计划
- 在 App2 中创建 Web 服务以公开将被访问的功能
通过 App1.
困境
- App2暴露的web服务只允许登录使用
来自 App1 的用户。
设置
- 应用程序 1 和应用程序 2 部署在同一个应用程序服务器上(并且可能会长期使用此设置)
- App1 和 App2 有来自不同数据库的一组不同的用户。
问题:
- 解决困境的最佳方法是什么?
- 只在 App1 中复制 App2 的后端是否可行?
- 将这两个应用程序作为 Single Sign 也是一个实用的选择吗? (例如,在 SSO 下,只需在 App1 中向 App2 提供一个直接页面 link。)
就是这样。谢谢。如有任何建议,我们将不胜感激。
此问题的解决方案是任何 token based authentication 解决方案的一部分。
您的用户针对 App1 进行身份验证后,您允许他们检索令牌以访问 App2 中的 API。此令牌必须经过签名(以防止篡改)并包含依赖方标识符或受众 URI。
您在 App2 中公开的 API 检查令牌是否有效以及用于调用它(具有正确的依赖方标识符或受众 URI)。
当前设置:
- App2 是现有的 Web 应用程序,旨在让用户能够执行 交易。有登录。全球访问。
- App1 是一个没有登录的纯信息应用程序。全球访问。
提议的更改:
- App1 现在将具有用户登录和一些新功能
- 它的部分新功能是拥有一些交易后端 应用程序 2
计划
- 在 App2 中创建 Web 服务以公开将被访问的功能 通过 App1.
困境
- App2暴露的web服务只允许登录使用 来自 App1 的用户。
设置
- 应用程序 1 和应用程序 2 部署在同一个应用程序服务器上(并且可能会长期使用此设置)
- App1 和 App2 有来自不同数据库的一组不同的用户。
问题:
- 解决困境的最佳方法是什么?
- 只在 App1 中复制 App2 的后端是否可行?
- 将这两个应用程序作为 Single Sign 也是一个实用的选择吗? (例如,在 SSO 下,只需在 App1 中向 App2 提供一个直接页面 link。)
就是这样。谢谢。如有任何建议,我们将不胜感激。
此问题的解决方案是任何 token based authentication 解决方案的一部分。
您的用户针对 App1 进行身份验证后,您允许他们检索令牌以访问 App2 中的 API。此令牌必须经过签名(以防止篡改)并包含依赖方标识符或受众 URI。
您在 App2 中公开的 API 检查令牌是否有效以及用于调用它(具有正确的依赖方标识符或受众 URI)。