Angular 是否可以使用不同的sessionid cookie发送令牌身份验证
我在Angular 6中有一个应用程序,它启动了许多其他遗留应用程序。遗留应用程序使用sessionid cookie进行身份验证。但是,angular应用程序使用令牌身份验证。当我打开遗留应用程序时,系统会提示登录页面并添加sessionid cookie。但是,当我返回angular应用程序并向我的api发送http请求时,sessionid cookie将与它一起发送,同时发送我的令牌身份验证。拥有sessionid会导致未经授权的错误响应 这可以通过删除sessionid cookie来弥补,但用户不必一直这样做Angular 是否可以使用不同的sessionid cookie发送令牌身份验证,angular,http,authentication,Angular,Http,Authentication,我在Angular 6中有一个应用程序,它启动了许多其他遗留应用程序。遗留应用程序使用sessionid cookie进行身份验证。但是,angular应用程序使用令牌身份验证。当我打开遗留应用程序时,系统会提示登录页面并添加sessionid cookie。但是,当我返回angular应用程序并向我的api发送http请求时,sessionid cookie将与它一起发送,同时发送我的令牌身份验证。拥有sessionid会导致未经授权的错误响应 这可以通过删除sessionid cookie来
如何管理这两种身份验证方法而不将它们捆绑在一起并导致彼此出错。浏览器会自动为特定域发送Cookie,具体取决于从服务器返回到浏览器时如何配置
Set Cookie
标头
当您首次向“遗留应用程序”发送请求时,它将返回存储在浏览器中的特定域(即example.com)的cookie。您对example.com或example.com/api发出的任何后续http请求都将导致浏览器自动发送该cookie
根据您的描述,您的“遗留登录应用程序”和“API”(需要令牌身份验证)似乎都托管在同一个域或子域上
您可以更改DNS设置,使“传统登录应用程序”位于与“API”不同的子域上。e、 g.legacyapp.example.com和api.example.com。并确保它返回的cookie没有Set cookie:domain=example.com
,这会导致浏览器将cookie发送到两个子域,因为example.com是更高级别的域