【发布时间】:2017-05-17 20:12:27
【问题描述】:
这更像是一个设计问题。
我们有用 Java 和 Spring 编写的 Web 应用程序“webapp”,我们组织内部的人和外部的人都可以使用它。当用户尝试登录应用程序时,它会尝试在本地数据库中查找用户。如果有密码(加密),它将对此进行身份验证,如果密码列为空,它将与 LDAP 对话并对用户进行身份验证。现在我们有了一个新的移动应用程序“mobileapp”,它有一个指向“webapp”的链接。我们正在考虑在此处实施 SSO,以便移动应用程序用户在单击此链接时不必再次登录。我们还认为,未来将有更多的服务和应用程序必须在同一个身份验证/授权平台上紧密合作。我们认为我们可以做的几件事 -
- 从“webapp”中删除身份验证和授权代码,并将其设为单独的服务 -AA 服务
- 让 AA 服务生成 OAuth 令牌,让包括 webapp 在内的任何客户端应用使用“使用 AA 服务登录”按钮登录。
这听起来像是一个好的解决方案吗?有没有更好的方法来处理这个问题?是否已经在 Java/Spring/Oauth/OpenID connect/JWT 等中内置了此类解决方案?
【问题讨论】:
标签: spring-security oauth-2.0 single-sign-on jwt openid-connect