Fala Devs, trabalhando com Angular 13, e preciso fazer a autenticação por meio de uma API que implementa OAuth2, consigo chamar o formulário de login utilizando o window.open()
, mas não consigo obter o callback ao realizar o login com sucesso.
Meu código:
public carregarLogin(): void {
console.log('Abrindo login...');
this._retorno = window.open(this._apiUrl, '_self');
if (this._retorno != null && this._retorno != undefined) {
var queryString = (<Window>this._retorno).location.toString();
console.log(JSON.stringify(queryString));
let params = new URLSearchParams(queryString);
var client_id = params.get('code');
if (client_id != undefined) {
console.log('client_id encontrado -> ' + client_id);
// TODO buscar token de acesso...
} else {
console.log('Não encontrou client_id...');
}
}
}
Sempre que realiza o login, o console mostra a mensagem “Não encontrou client_id”, ou seja, o client_id
está vindo undefined. Depurando o código, descobri que a URL que está sendo verificada, é a URL da aplicação em localhost, e não a da API de autenticação. Então, gostaria de saber como faço pra buscar, de forma correta, o callback da API no Angular.
Desde já agradeço a todos.