【发布时间】:2018-02-04 22:19:39
【问题描述】:
我已经编写了几个服务于 RESTful API 的 Spring 4 后端 Web 应用程序。我什至设法使用 Spring Web Security 来保护这些。
在一种情况下,我们安装了自己的 OpenAm 实例。访问客户端 UI 的用户可以登录 OpenAM,客户端 Web 应用程序会在 cookie 中获取一个令牌。我们在标头中将该令牌传递给后端,然后 Spring Security 使用 CustomeUserDetailsService 对照 OpenAM 检查该令牌以查看它是否有效。如果是这样,我们在 Spring Security Context 中创建一个用户,分配角色,然后我们查看这些角色是否对 API 有效。如果是,API 会执行,如果不是,用户会收到 401 安全错误。我相信这是 OAuth2。
我们还设法对 Okta 做同样的事情。我们有自己的客户端 Web UI 和我们自己的登录页面。 UI 调用 Okta 并取回两 (2) 个令牌。我们连接这些令牌并将其传递给后端,后端执行与我们上述相同的过程。我也认为这是 Oauth2。
我现在正在开发一个新项目,这次我想使用 AWS IAM 保护我的 Web 应用程序,因为前端和后端将托管在 AWS EC2 实例上。
我一直在网上搜索以确切了解如何执行此操作。有一个 AWS IAM 开发工具包,还有 AWS Cognito。我最初对 IAM 的了解并没有完全显示 Oauth2,我看到了 OpenID 和 SAML。我知道我缺乏关于 OpenID、Oauth2 和 SAML 的知识。
因此,我正在寻找任何代码库、示例代码或文档的链接,这些链接将帮助我使用 AWS IAM 和/或 Cognito 使用 Spring Security 保护我的后端 API。顺便说一句,我不想使用 Spring API 网关,因为 Spring Web Security 已经为我这样做了。
提前感谢您的帮助!
【问题讨论】:
标签: java spring-mvc spring-security amazon-iam