Oauth 2.0 跨多个应用程序检查用户身份验证和数据共享的最佳实践

Oauth 2.0 跨多个应用程序检查用户身份验证和数据共享的最佳实践,oauth-2.0,single-sign-on,distributed-caching,Oauth 2.0,Single Sign On,Distributed Caching,我有两个web应用程序。一个是在MVC 5中开发的,第二个是在ASP.NET Core 3中开发的。两个网站都位于不同的域上 mycmswebsite.com myshopwebsite.com 我的用户认证模块在商店网站上,我还将商店网站上的一些值存储在会话中,我需要在cms网站中访问这些值 我计划在SQL Server或Redis中使用分布式缓存,还计划使用Oauth2进行单点登录 检查用户是否通过cms网站在商店网站上的身份验证并访问商店网站中存储的数据的最佳做法是什么 我不太了解可以在多

我有两个web应用程序。一个是在MVC 5中开发的,第二个是在ASP.NET Core 3中开发的。两个网站都位于不同的域上

  • mycmswebsite.com
  • myshopwebsite.com
  • 我的用户认证模块在商店网站上,我还将商店网站上的一些值存储在会话中,我需要在cms网站中访问这些值

    我计划在SQL Server或Redis中使用分布式缓存,还计划使用Oauth2进行单点登录

    检查用户是否通过cms网站在商店网站上的身份验证并访问商店网站中存储的数据的最佳做法是什么


    我不太了解可以在多个应用程序之间共享的分布式缓存技术

    因为您的两个服务部署到不同的域。用户登录后,唯一保持登录状态的是他的cookies。但是不同的域意味着cookie不能通过。因此,您需要部署另一个OAuth服务,如
    mygateway.com
    ,它对所有用户进行身份验证。但是如果您这样做,
    mycmswebsite.com
    很难检查当前用户是否已登录
    mygateway.com
    。我不认为你的期望有一个完美的解决方案。我知道这是一件棘手的事情,但应该有一些解决方案。如果忽略身份验证,那么使用分布式缓存或会话状态管理共享数据又如何呢。我对Asp.NETWeb表单和MVC5之间的会话共享有经验,但Asp.NETCore在会话状态上有不同的机制。