Nesta página, mostramos como gerenciar o Identity-Aware Proxy (IAP) com sessões de federação de identidade de colaboradores.
Ao configurar um pool de colaboradores, é possível especificar a duração da sessão entre o Google Cloud e um IdP. É possível especificar a duração da sessão entre 15 minutos e 12 horas. Essa configuração também é a duração do cookie de sessão do IAP. A duração padrão da sessão é de uma hora.
Quando uma sessão expira, o usuário final é redirecionado para o IdP de terceiros para fazer login. Se a sessão do IdP de terceiros ainda estiver ativa, o login será silencioso.
Para mais informações sobre como definir a duração da sessão, consulte Gerenciar provedores de pools de identidade de colaboradores.
Estabelecer uma sessão usando uma solicitação AJAX
Ao trabalhar com a federação de identidade de colaboradores, também é possível fazer solicitações AJAX para estabelecer uma sessão.
O IAP depende de cookies para gerenciar sessões de usuário e uma sequência de redirecionamentos para estabelecer uma sessão durante o login. Se o aplicativo usa o Compartilhamento de recursos entre origens (CORS) para fazer solicitações AJAX de um domínio de origem para um domínio de destino que hospeda um aplicativo protegido pelo IAP, primeiro é necessário estabelecer uma sessão do IAP no domínio de destino fora de banda. Não é possível compartilhar cookies entre os domínios de origem e de destino.
Depois que uma sessão for estabelecida no domínio de destino, configure as solicitações para incluir credenciais, porque os métodos JavaScript não anexam cookies por padrão:
- Para objetos
XMLHttpRequest, defina a propriedadewithCredentialscomotrue. - Para
Fetch API, defina a opçãocredentialscomoincludeousame-origin.
Para solicitações AJAX expiradas ou não autenticadas, o IAP retorna um código de status HTTP 401: Unauthorized. Se as solicitações AJAX receberem um código de status 302 em vez de 401, adicione um cabeçalho X-Requested-With com um valor de "XMLHttpRequest" para indicar que a solicitação é originada do JavaScript. Para
estabelecer ou atualizar a sessão depois de receber uma resposta HTTP 401, abra uma
nova janela para o URL do domínio de destino com ?gcp-iap-mode=DO_SESSION_REFRESH
anexado.