Node.js [Passportjs][Angular5]否';访问控制允许原点';请求的资源上存在标头。原产地';空';因此不允许访问

Node.js [Passportjs][Angular5]否';访问控制允许原点';请求的资源上存在标头。原产地';空';因此不允许访问,node.js,angular,passport.js,passport-google-oauth2,passport-github2,Node.js,Angular,Passport.js,Passport Google Oauth2,Passport Github2,我正在尝试将Nodejs后端api与Angular集成。我已经在后端应用程序上实现了passpor google、passport github、passport twitter策略 我的后端应用程序url是http://localhost:3000 我的前端应用程序url是http://localhost:4200 护照路线 当我从前端应用程序发送请求时,它会给我CORS错误 AuthService.ts githubAuth():可观察{ 返回this.httpClient.get( `${

我正在尝试将Nodejs后端api与Angular集成。我已经在后端应用程序上实现了passpor google、passport github、passport twitter策略

我的后端应用程序url是
http://localhost:3000
我的前端应用程序url是
http://localhost:4200

护照路线 当我从前端应用程序发送请求时,它会给我CORS错误

AuthService.ts
githubAuth():可观察{
返回this.httpClient.get(
`${environment.api_url}/auth/github`
);
}
我已经在我的Nodejs项目中添加了cor。如何解决此问题请帮助我使用cors模块 或者使用express cors中间件

app.use(cors())在此之后,选择任何其他路线

const users = require('./routes/users');

或者尝试将cors中间件移动到顶部

您可以像AuthService.ts中的下图所示那样使用window.location.href='{environment.api\u url}/auth/github'

您只需在html模板中编写即可

<a href="http://localhost:3000/login/google">Google</a>

应用程序使用(cors());您可能在错误的范围内使用中间件,即确保在调用任何路由之前使用它
const users = require('./routes/users');
<a href="http://localhost:3000/login/google">Google</a>
app.get('/login/google',  passport.authenticate('google', { scope: ['profile','email']}) );