Como obter o callback do window.open() em Angular 13?

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.

Pessoal, após postar essa mesma pergunta no stackoverflow, recebi a seguinte resposta:

window.open não tem return com resultado de algo feito no iframe, o window.open retorna uma referencia para controlar o “popup” ou “aba” gerada. Não tem callback algum relacionado a isso. Recomendo estudar a documentação e depois ajustar para aplicar melhor conforme suas necessidades developer.mozilla.org/en-US/docs/Web/API/Window/open

Então, estou encerrando essa pergunta.