我在api.domain.com
上运行了一个express服务器。我正在使用express-openid-connect
处理身份验证流。该服务器还充当其他需要身份验证的下游服务的代理。
----------- ------------------ ---------------------- | Clients | ---> | Express server | ---> | Downstream service | ----------- ------------------ ----------------------
可能有多个客户端应用程序调用express服务器,它们都在不同的子域上运行(client1.domain.com
,client2.domain.com
,…)。
其思想是,每当客户端需要调用服务时,请求将首先通过网关,网关将向请求添加Authorization
标头,然后将其代理到正确的服务。
我现在遇到的问题是express-openid-connect
创建的cookie是针对域api.domain.com
的。我知道我可以将cookie设置的域更改为domain.com
,但我正在寻找一种解决方案,如果其中一个客户端在localhost
上运行(在本地开发期间),该解决方案也会有效。我有没有办法做到这一点?