После устаревания javascript SDK от Linkedin мой метод "Вход с Linkedin" перестал работать, и теперь мне нужно обновить его, чтобы использовать новый процесс аутентификации OAuth 2.0.
В своем веб-приложении на одностраничном приложении (Angular 5) я делал запрос http GET из моего кода переднего плана, подписывался на него (rxjs) и запрашивал у пользователя авторизацию во всплывающем окне. После получения разрешения всплывающее окно автоматически закрылось, и я смог получить ответ в своей подписке. Это обеспечило хороший пользовательский опыт, поскольку перенаправления не требовались, и я смог получить следующее действие, не покидая исходную страницу.
После того, как OAuth 2.0 стал обязательным, я просто не могу понять, как построить такое же поведение, так как URI перенаправления требуется в https://www.linkedin.com/oauth/v2/authorization,, и если я пытаюсь сделать http GET-запрос к тому же URI Я сталкиваюсь с ошибкой политики CORS, в которой говорится, что в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "
Кто-нибудь знает, как решить эту проблему с помощью нового API OAuth 2.0 от Linkedin ??
Спасибо!
UPDATE:
Это то, что я сейчас пытаюсь:
authorizeLinkedin (): Observable<any> {
return this.http
.get(
`https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=MY_APP_ID&redirect_uri=MY_REDIRECT_URI&scope=r_liteprofile%20r_emailaddress%20w_member_social`)
.pipe(catchError((error: any) => this.errorHandler(error)))
}
signinWithLinkedin (): void {
this.socialAuth.getLinkedinAuth().subscribe(
res => {
console.log(res)
},
err => {
console.log(err)
}
)
}