在2个Grails应用之间共享身份验证

时间:2015-03-02 17:06:04

标签: authentication grails oauth

我正在开发2个Grails应用程序 - A和B - 我想支持以下用例

  1. 如果用户拥有A帐户,他们也可以使用它来注册/登录B(与使用Twitter,Google等凭据注册/登录http://stackoverflow.com的方式非常相似)。同样,如果用户拥有B帐户,则可以使用它注册/登录A.
  2. 用户还可以选择在每个站点上使用单独的帐户,即他们不是强制在B上使用他们的A凭证(反之亦然)
  3. 如果用户使用其A凭证向B进行身份验证(反之亦然),则会在2个站点之间建立信任,允许A调用B的API来检索有关用户的其他信息。需要有一种机制,确保只能为已同意在两个站点之间共享身份验证数据的用户调用API。
  4. 理想情况下,我想使用基于标准的方法,例如通过使每个站点成为OAuth消费者/提供者,但我不确定哪些标准是最相关的标准。如果有任何插件可以帮助我实现解决方案,那么知道也是有用的。

1 个答案:

答案 0 :(得分:0)

我认为Stormpath正是您所需要的:

  • 具有不同SDK的用户管理API:node.js,express,java,rest,python,flask。
  • 现成的托管登录:登录,注册和密码重置。
  • 现成的ID站点为您的应用程序单点登录供电
  • 用户的API密钥,使用HTTP Basic Auth或OAuth2保护
  • 社交登录:Facebook,Google,LinkedIn,Github
  • 与Shiro和Spring Security集成
  • 与Active Directory和LDAP集成

在第3号子弹中,您谈论的是SSO。你可以通过Stormpath和Shiro实现这一目标。请read here

免责声明,我是Stormpath的贡献者。