Tornando-se um provedor de SSO

Além dos métodos de autenticação fornecidos pela Crowdin, você pode usar o recurso Logon Único (SSO) para autenticar instantaneamente seus usuários com seus nomes de usuário existentes.

Esse recurso está disponível apenas nos planos de organização.

O Crowdin SSO híbrido é, na verdade, uma maneira mais rápida de criar a conta do tradutor do que o SSO clássico, como OAuth ou SAML.

Todo o processo simplificado funciona da seguinte maneira:

  1. Ative o SSO na sua conta e copie a chave API da sua conta.
  2. Criar uma URL especial no seu sistema que direciona o tradutor para Crowdin. Esta URL conterá as informações de autenticação do tradutor, bem como a chave da API que você obteve anteriormente, como parâmetros de URL criptografados com o AES.
  3. O Crowdin usa esses parâmetros para criar uma conta para o tradutor e redireciona para a página desejada. Por exemplo, os tradutores podem ser redirecionados imediatamente para o editor de tradução para começar a trabalhar.
  4. O tradutor recebe um email com instruções sobre como ativar a conta e deve concordar com os Termos de Serviço e a Política de Privacidade da Crowdin.

Nota: Antes de encaminhar um usuário para a Crowdin, inclua um aviso de que você está enviando as informações pessoais criptografadas do tradutor para a parte externa.

Se você passar um nome de login ou um e-mail para a URL SSO que já está sendo utilizada no Crowdin, o usuário será solicitado a corrigir os dados de registro.

Ativando o logon único (SSO)

Para habilitar SSO para seus projetos, acesse a página configurações de conta, clique na aba API & SSO, ative a opção Habilitar logon único e especifique um nome de provedor válido.

Parâmetros de URL SSO

Abaixo está a lista de parâmetros que você pode passar para o Crowdin para registro automático. Nesta etapa, você precisará compactar os dados como um array JSON antes da criptografia (consulte as integrações de exemplo nas linguagens de programação populares abaixo).

Parâmetro Obrigatório Tipo Padrão Exemplo Notas
user_id sim string 12345678901 Um identificador exclusivo para o usuário (por exemplo, o user_id no seu sistema).
iniciar sessão sim string johndoe Nome de login do Crowdin. Deve corresponder ao padrão [a-z, 0-9]
user_email sim string john.doe@mail.com Endereço de e-mail válido
expiração sim int 1406124776 Timestamp unix válido.
Nota! Defina não mais de 30 minutos a partir da hora atual do UTC.
display_name string John Doe Pseudo ou nome real
região string en_US de_DE Código de região
projetos string docx-project,csv-project Uma lista separada por vírgula de identificadores de projeto Crowdin que o tradutor deve inicialmente ter acesso
sexo int 0 1 | 2 1: masculino, 2: feminino
função int 0 0 | 1 | 2 Função do usuário em projetos associados. 0: tradutor, 1: revisor, 2: gestor
línguas string ro,uk,fr Lista separada por vírgula de códigos de idioma Crowdin que o usuário deve ter acesso. Usado para projetos com política moderada de acesso a idiomas
redirect_to string https://crowdin.com/profile https://crowdin.com/project/your-project-url A URL do Crowdin onde o tradutor deve ater após o registro
return_crowdin_login int 0 | 1 Retornar parâmetro GET crowdin_login (funciona em combinação com o parâmetro redirect_to)

O array JSON de saída deve se parecer com o seguinte:

{
  "user_id":"12345678901",
  "login":"johndoe",
  "user_email":"john.doe@mail.com",
  "display_name":"John Doe",
  "locale":"de-DE",
  "gender":1,
  "projects":"docx-project,csv-project",
  "expiration":1406124776,
  "role":0,
  "redirect_to":"https:\/\/crowdin.com\/project\/docx-project"
}

Criptografando as Informações

O JSON criado no passo anterior deve ser criptografado usando o AES 128-CBC, com os primeiros 16 caracteres da chave API da conta Crowdin atuando como a chave de criptografia, e os últimos 16 caracteres como o vetor de inicialização. O texto criptografado deve ser transformado agora em texto Base64.

A URL SSO deve usar o seguinte padrão:

https://crowdin.com/join?h={ENCRYPTED_STRING}&uid={CROWDIN_USER_LOGIN}

Onde:

{ENCRYPTED_STRING} é o texto Base64 que você criou no passo anterior.

{CROWDIN_USER_LOGIN} é o nome de login da sua conta Crowdin. Observação: essa deve ser a mesma conta usada para criar os projetos aos quais você deseja que o tradutor tenha acesso.

Exemplo de integrações

Criamos os fragmentos do código para as principais linguagens de programação. Lembre-se de substituir CROWDIN_USER_LOGIN, CROWDIN_USER_API_KEY por suas informações de autenticação pessoal.

Este artigo foi útil?