Cenário
Alguns usuários não conseguiam acesso ao Salesforce pelo SSO, ao tentar autenticar o usuário ocorria o seguinte erro: "Unable to map
an+unique profile id for the given profile name".
Análise
Tendo em vista a natureza da mensagem, buscamos primeiro analisar o perfil envolvido no caso, verificando a sua existência, se o nome estava compatível com o atributo passado pelo provedor. O perfil existia, devidamente nomeado. Não havia dois perfis com o mesmo nome, até porque isso não é permitido no Salesforce, então ficou a questão "Qual o problema?".
Solução
Verificamos que os perfis que estavam gerando erro possuíam variantes, por exemplo:
- Perfil com erro: GerenteContas
- Perfil variante: GerenteContasRegional
E pensamos se na validação, ao passar o perfil "GerenteContas", o Salesforce não estaria procurando o nome usando um "contém essa string" ao invés de um "igual à string". E sim, pasmem, como ambos os profiles possuíam a string passada no atributo do SAML no nome, ambos eram recuperados no Salesforce, gerando o erro reportado. Claro que esse erro ocorre para o perfil mais geral que nesse caro era o perfil GerenteContas, para o perfil GerenteContasRegional só ocorreria o erro se existe outro perfil que variasse dele, como por exemplo GerenteContasRegionalPE.
Como solução, alteramos o nome do perfil que era uma derivação para que o mesmo deixasse de conter o nome do profile mais genérico, por exemplo:
- De: GerenteContasRegional
- Para: GerenteDeContasRegional
Após essa alteração, os logins foram realizados com sucesso através do SSO.
Nenhum comentário:
Postar um comentário