[Passportjs] [Angular5] Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе.Происхождение 'null', следовательно, не разрешено - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь интегрировать API-интерфейс Nodejs с Angular.В бэкэнд-приложении реализована стратегия passpor-google, passport-github, passport-twitter.

URL-адрес моего бэкэнд-приложения http://localhost:3000 URL-адрес моего внешнего интерфейса http://localhost:4200

Паспортные маршруты

authRouter.get('/github', passport.authenticate('github'));
authRouter.get(
  '/github/callback',
  passport.authenticate('github', {
    failureRedirect: 'http://localhost:4200/login',
  }),
  authController.sendJWTToken
);

Когда я отправляю запрос из приложения внешнего интерфейса, он выдает ошибку CORS

AuthService.ts

githubAuth(): Observable<LoginRsp> {
    return this.httpClient.get<LoginRsp>(
      `${environment.api_url}/auth/github`
    );
  }

Я уже добавил CORS в свой проект Nodejs.Как я могу решить эту проблему, пожалуйста, помогите мне

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вы можете сделать это, как показано на рисунке ниже this

0 голосов
/ 10 июля 2018

В AuthService.ts просто используйте window.location.href = '{environment.api_url} / auth / github'

0 голосов
/ 13 мая 2018

использовать модуль Cors Cors или используйте промежуточное ПО Express Cors Cors Express

app.use(cors()); после этого любые другие маршруты

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

или попробуйте переместить промежуточное ПО Cors наверх

...