Web services 已存在多个web应用程序的单点登录

Web services 已存在多个web应用程序的单点登录,web-services,authentication,web,web-applications,single-sign-on,Web Services,Authentication,Web,Web Applications,Single Sign On,对于使用不同后端堆栈开发的一组web应用程序,在不使用任何第三方服务的情况下实现单点登录的最佳方法是什么。如何进行迁移 要使用单点登录,您必须具有相同的数据库表,其中包含所有web应用程序的用户名/密码 创建并部署一个web服务,该服务具有两个参数username和password的login方法。此方法对用户进行身份验证,并返回用户id及其各自的角色和登录有效期 如果用户第一次通过身份验证,请将该用户的有效期更新为 用户将保持身份验证的数据库。e、 g.从 现在 若身份验证失败,则登录方法应返

对于使用不同后端堆栈开发的一组web应用程序,在不使用任何第三方服务的情况下实现单点登录的最佳方法是什么。如何进行迁移

  • 要使用单点登录,您必须具有相同的数据库表,其中包含所有web应用程序的用户名/密码

  • 创建并部署一个web服务,该服务具有两个参数username和password的login方法。此方法对用户进行身份验证,并返回用户id及其各自的角色和登录有效期

    如果用户第一次通过身份验证,请将该用户的有效期更新为 用户将保持身份验证的数据库。e、 g.从 现在

    若身份验证失败,则登录方法应返回false

  • 在每个web应用程序中,在webservice callable方法中,如果用户登录成功,则创建一个cookie,该cookie应在validupto上过期 通过web服务返回时间。根据服务器的时区调整cookie时间

  • 让我们猜猜,用户是从web应用程序1验证的,并且创建了cookie,根据 有效时间

  • 同一用户打开未登录web应用程序2的web应用程序2。在这里,您必须检查是否找到登录cookie,如果没有,请调用webservice

  • webservice将检查用户的validupto是否超过当前时间 它将直接从db返回用户id和他各自的角色,而不检查用户的凭据 所以在这里,cookie将根据webservice返回的validupto时间创建,它将

    与web应用程序1 cookie同时过期。因此,同一用户将同时登录到web应用程序1和2

    一旦cookie过期,用户将从两个web应用程序中注销

    通过这种方式,您可以使用任意数量的web应用程序进行单点登录

    注意:确保在所有调用web服务并基于web服务响应创建cookie的web应用程序中具有相同的功能


    我刚刚读到关于SAML和Oauth2.0的文章。我只是在想,是否有任何方式可以让各种身份验证服务器相互通信并提供身份验证,而不是使用单个中央身份验证服务器。