Como redirecionar logins de single sign-on (SSO)
Quando o SSO está habilitado, você pode redirecionar usuários para páginas específicas ou direcionar usuários para fazer login localmente.
Por exemplo, se um usuário tentar acessar
https://customerX.service-now.com, um portal interno da empresa poderá ser exibido em vez da página de login padrão. Ou quando um usuário faz logout de uma aplicação, o navegador pode redirecioná-lo para uma página interna específica. Você pode definir propriedades de redirecionamento dentro da instância para garantir que os usuários vejam uma página de login do SSO em vez da página de login padrão. Nota:
As propriedades a seguir não forçam o SSO. A página "login.do" ainda estará acessível e os usuários poderão fazer login no sistema se tiverem uma senha local definida.
Propriedades de redirecionamento
Quando um usuário faz logout, ou se houver falha na tentativa de login usando o SSO, você pode definir para onde o usuário será levado, como uma página principal do portal ou um artigo da base de conhecimento com informações de login do SSO. Use as seguintes propriedades para especificar os URLs. Se uma dessas propriedades não existir em sua instância, você poderá criá-la.
- glide.authenticate.failed_requirement_redirect
- URL para redirecionar usuários que tentam acessar uma página que é privada (por exemplo, para exibir um incidente) e não fornecem credenciais de SSO. A propriedade normalmente é definida como o portal de login de um cliente (por exemplo,
http://portal.companya.com/). - glide.authenticate.failed_redirect
- URL para redirecionar usuários após uma falha na tentativa do SSO. Você pode redirecionar para um artigo de conhecimento público que descreve o erro e tem links úteis (por exemplo,
http://portal.companya.com/error). - glide.authenticate.external.logout_redirect
- URL para redirecionar usuários após o logout, normalmente de volta ao portal que habilitou o login de single sign-on (por exemplo,
http://portal.companya.com/logout). - glide.authentication.external.disable_local_login
- Quando definido como "verdadeiro", requer credenciais de SSO para a página de login principal. O padrão é "falso". Essa propriedade precisa ser usada em conjunto com a propriedade glide.authenticate.failed_requirement_redirect.
A tabela a seguir mostra o relacionamento entre os valores de retorno de Saída de instalação, as propriedades e o comportamento esperado.
| Valor de retorno | Propriedade | Comportamento |
|---|---|---|
failed_missing_requirement |
glide.authenticate.failed_requirement_redirect | Quando esse valor é retornado, ele indica que as credenciais de SSO necessárias não estão presentes na sessão. Há falha no login e a sessão é redirecionada para o URL especificado pela propriedade. Normalmente, é o URL do provedor de SSO em que o login é contestado e as credenciais são coletadas. |
failed_authentication |
glide.authenticate.failed_redirect | Quando esse valor é retornado, ele indica que as credenciais de SSO fornecidas falharam na autenticação, o usuário não existe ou o usuário está bloqueado. Há falha no login e a sessão é redirecionada para o URL especificado pela propriedade. Normalmente, é o URL do provedor de SSO em que o login é contestado e as credenciais são coletadas. |
<user_id> |
N/D | Login autorizado para o usuário especificado por <user_id>. Esse valor corresponde ao nome do campo definido na propriedade SSO glide.authenticate.header.value ("o nome do campo da instância para corresponder ao cabeçalho de entrada") |
Restrição de login local
Como precaução de segurança, você deve fazer mais do que depender das propriedades de redirecionamento para proibir o registro em log localmente. Se um usuário nunca deve fazer login localmente e sempre será autenticado pelo sistema de single sign-on interno, uma senha aleatória deverá ser atribuída a cada usuário importado para a instância. A senha aleatória é definida com mais facilidade no momento da importação do usuário. Se os dados do usuário forem importados para o sistema por meio de um conjunto para importação, você poderá criar um script de transformação "onBefore" usando o código a seguir.
var r = new Packages. java. util. Random ( ) ;
var str1 = Packages. java. lang. Long. toString (Packages. java. lang.
Math. abs (r. nextLong ( ) ) , 36 ) ; var str2 = Packages. java. lang.
Long. toString (Packages. java. lang. Math. abs (r. nextLong ( ) ) , 36
) ;
var newPass = str1 + str2 ;
target. user_password = newPass ;
//password now set to a random string like this:
//qvm81zdrn7cwwylpvw94eebk