我们已实施openId connect(google +)以登录我们的企业应用程序,我们有安全问题
让我们假设用户正在使用网吧的公共电脑,登录应用程序(在后台用户登录谷歌),做任何用户想要的事情,在退出时,用户只能从我的应用程序注销。但用户仍然登录谷歌。用户不知道他已登录谷歌,当用户完成工作时,用户将离开登录其他人的谷歌帐户。我了解用户应该知道他必须手动从谷歌退出,这是一个标准的行业惯例。但我个人觉得这是一个安全问题,并希望我的应用程序自动处理这个问题。
对于这个特定问题,我更喜欢以下解决方案之一,但不确定这是否可行。请告诉我,无论如何我可以为这个问题找到解决方案或建议任何其他更好的解决方案。
解决方法1:
场景1:用户未登录Google: 当用户点击登录按钮时,应用程序重定向到谷歌登录页面,用户登录谷歌并使用谷歌提供的详细信息,用户重定向到我的应用程序并登录我的应用程序。在重定向回我的应用程序之前,我希望谷歌退出,即用户无法访问当前会话或任何其他会话中的任何Google产品。
会话2:用户在浏览器中登录谷歌 当用户点击登录按钮时,应用程序从后端谷歌获取信息并登录我的应用程序。从我的应用程序退出时,我不希望谷歌被注销,因为用户已经登录谷歌并且没有登录谷歌作为登录我的应用程序的一步。
溶液2:
场景1:用户未登录Google: 当用户点击登录按钮时,应用程序重定向到谷歌登录页面。用户登录谷歌并使用谷歌提供的详细信息,用户重定向到我的应用程序并登录我的应用程序。用户可以访问当前会话中的任何Google产品。但在退出我的应用程序时,我想向google发送一些信息,谷歌也会从谷歌中退出。
会话2:用户在浏览器中登录谷歌 当用户点击登录按钮时,应用程序从后端谷歌获取信息并登录我的应用程序。但在退出我的应用程序时,我想向google发送一些信息,谷歌也会从谷歌中退出。
我更喜欢解决方案1,因为在解决方案2中,用户已退出谷歌,没有他的顾虑。在发布这个问题之前我研究了很多,并找到了未记录的方法(比如调用google的logout url)来实现解决方案2。我更喜欢有记录的方式来做到这一点。 openId是否提供了任何API来执行此操作?