Angular 角度-CORS原点-外部标识服务器4实例
我正在试图找出,对于任何在本地开发Angular应用程序的人来说,在不违反CORS规则的情况下连接到外部托管的Identity Server实例的最佳方式是什么,因为Chrome所使用的不是Identity Server 我想我们可以使用proxy.config并将其与节点一起托管,以便它将localhost:4200/dev/identity重定向到托管的identity Server实例。但这并不是那么简单,它是一个发现文档,然后是几个重定向 这是一个非常常见的场景,但我在网上找不到任何东西,这告诉我我要么做错了,要么有一个简单得多的解决方案。有人能给我指出正确的方向吗?或者有一个类似的代理文件,它可以命中所有已知的端点 仅供参考这里是我的proxy.configAngular 角度-CORS原点-外部标识服务器4实例,angular,google-chrome,cors,identityserver4,Angular,Google Chrome,Cors,Identityserver4,我正在试图找出,对于任何在本地开发Angular应用程序的人来说,在不违反CORS规则的情况下连接到外部托管的Identity Server实例的最佳方式是什么,因为Chrome所使用的不是Identity Server 我想我们可以使用proxy.config并将其与节点一起托管,以便它将localhost:4200/dev/identity重定向到托管的identity Server实例。但这并不是那么简单,它是一个发现文档,然后是几个重定向 这是一个非常常见的场景,但我在网上找不到任何东西
{
"dev/identity": {
"target": {
"host": "ids-cloud.com",
"protocol": "https:",
"port": 443
},
"secure": false,
"changeOrigin": true,
"logLevel": "info"
},
"/dev/identity/.well-known/openid-configuration": {
"target": {
"host": "ids-cloud.com",
"protocol": "https:",
"port": 443
},
"secure": false,
"changeOrigin": true,
"logLevel": "info"
},
"*": {
"target": "http://localhost:5000",
"secure": false,
"logLevel": "debug",
"changeOrigin": true
}
}
最后一个*用于向我的API发送调用。带有节点的proxy.config是个好主意,我就是这样做的,但不需要重定向。使用https调用identity server并将其响应返回给angular。最后,我发现最好的方法是让服务器为我们的开发环境返回一个跨源标头 当angular客户端应用程序调用时,服务器返回一个阻止Chrome抱怨CORS的标题。在这种情况下,我不需要代理类,所有开发人员都可以使用同一个dev实例
您可以通过应用服务CORS选项在Azure中实现这一点,或者如果您愿意,您可以将其作为API中启动的一部分进行开发。感谢您回来。我将在下面记录我是如何做到这一点的!