Configurando a Autenticação da API OData do SuccessFactors
O SuccessFactors oferece suporte ao fluxo OAuth 2.0 SAML Bearer Assertion. Esse fluxo fornece autorização restrita ao usuário, trocando asserções SAML por tokens de acesso, conforme descrito na especificação a seguir:
https://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-23
Este documento abrange as seguintes tarefas:
- Registrar App Builder como um aplicativo cliente SuccessFactors OAuth2
- Registre o SuccessFactors como an App Builder provedor de segurança.
- Registre o servidor de fonte de dados do SAP Serviço OData.
Requisitos
Para prosseguir, você precisará do seguinte:
- Uma conta SuccessFactors existente.
- Acesso de administrador à conta SuccessFactors.
- Acesso de administrador à App Builder.
Registrar App Builder como um Aplicativo Cliente SuccessFactors OAuth2
App Builder precisará ser registrado no SuccessFactors como um aplicativo cliente OAuth2. Para registrar App Builder como um aplicativo cliente OAuth2, você precisará das seguintes informações:
Exemplo | Notas | |
---|---|---|
Nome do aplicativo | App Builder | O nome do aplicativo é arbitrário. Se registrar várias instâncias de App Builder como aplicativos cliente OAuth2, dê a cada um um nome distinto. |
URL do aplicativo | https://example.com/App Builder/ | Este é o App Builder raiz da web. A URL deve incluir a barra final. |
Nome comum | example.com | Esta é a parte do nome do hospedar da raiz da web. |
Para registrar App Builder como um aplicativo cliente SuccessFactors OAuth2:
- Entre no SuccessFactors como administrador
- Navegue até o Centro de Administração
- Selecione Configurações da empresa → Gerenciar aplicativos cliente OAuth 2
- Clique no botão Registrar aplicativo do cliente
- Forneça o Nome do aplicativo e o URL do aplicativo
- Clique no botão Gerar certificado X.509
- Forneça o Nome Comum (CN)
- Clique no botão Gerar
- Clique no botão Download para salvar o certificado
- Clique no botão Registrar
Uma vez registrado, o SuccessFactors atribuirá uma API Key. A API Key, junto com o certificado, será necessária para concluir os procedimentos restantes.
Converter Certificado
SuccessFactors gera um certificado formatado em PEM; App Builder requer um certificado codificado em base64, no formato PKCS#12. Uma discussão completa deste tópico está fora do escopo deste documento. No entanto, a título de exemplo, o utilitário de linha de comando OpenSSL pode ser usado para converter um certificado de PEM para PKCS#12:
openssl pkcs12 -in certificate.pem -export -out certificate.pfx
Observe que você será solicitado a fornecer uma senha. Registre a senha, pois ela será necessária mais tarde.
Para codificar o certificado em base64:
openssl base64 -in certificate.pfx -out certificate.txt -A
Para obter informações adicionais sobre os certificados do aplicativo cliente SuccessFactors OAuth2, consulte o seguinte documento:
http://help.sap.com/saphelpiis_cloud4hr/EN/SuccessFactors_HCM_Suite_OData_API_Handbook_en.pdf
Nota
No momento da escrita, o SuccessFactors não gera um certificado compatível com OpenSSL. Para tornar o certificado compatível, abra o certificado em um editor de texto e faça as seguintes alterações:
Substitua ambas as ocorrências de "ENCRYPTED PRIVATE KEY" por "PRIVATE KEY".
Insira quebras de linha de modo que nenhuma linha tenha mais de 76 caracteres. Observe que essas devem ser quebras de linha no estilo Unix (quebra de linha), não quebras de linha no estilo Windows ou Internet (pares quebra de linha/retorno de carro).
Registre SuccessFactors Como an App Builder provedor de Segurança
Para registrar SuccessFactors como an App Builder provedor de segurança, você precisará das seguintes informações:
Exemplo | Notas | |
---|---|---|
Chave de API | A chave de API é atribuída pela SuccessFactors ao registrar o aplicativo cliente OAuth2 (veja acima). | |
Certificado de assinatura | O certificado de assinatura deve ser um certificado PKCS#12 codificado em base64 contendo a chave privada. O certificado pode ser gerado manualmente ou durante o processo de registro do aplicativo cliente SuccessFactors OAuth2 (veja acima). | |
Senha do certificado de assinatura | A senha do certificado de assinatura é atribuída ao gerar o certificado formatado PKCS#12. | |
ID da empresa | O identificador da empresa SuccessFactors. | |
URL da API da instância | https://api8.successfactors.com/ | URL da API do SuccessFactors: "Seus URLs de endpoint para acessar as APIs do OData dependem do data center que hospeda sua instância do SuccessFactors." Consulte http://help.sap.com/saphelpiis_cloud4hr/EN/SuccessFactors_HCM_Suite_OData_API_Handbook_en.pdf para obter informações adicionais. |
Nota
A URL não contém o caminho /odata/v2. App Builder anexará o caminho.
Para registrar SuccessFactors como an App Builder provedor de segurança:
- Faça login em App Builder como administrador
- Navegue até o IDE
- Clique no botão Provedores de segurança
- No painel Autenticação da fonte de dados, clique no botão + Autenticação da fonte de dados
-
Forneça o seguinte:
- Nome: Um nome exclusivo do provedor de segurança.
- Exemplo: SuccessFactors
- Tipo: SuccessFactors OData
-
Prioridade: Um inteiro exclusivo entre 10 e 100. Observe que esse valor deve ser único.
Exemplo: 40
-
Clique no botão Salvar
-
Defina as seguintes propriedades (no painel Propriedades, clique no botão + Propriedade → Selecione o Parâmetro → Forneça o Valor → Clique no ícone Salvar):
- Tipo de autenticação: Pequeno
- CompanyID: ID da empresa
- ApiKey: Chave de API
- InstanceApiUrl: URL da API da instância
- SigningCertificate: Certificado de assinatura
- SigningCertificatePassword: Senha do certificado de assinatura
-
Clique no botão Editar no painel Provedores
- Marque a opção Habilitado
- Clique no botão Salvar
Registre o Servidor de Fonte de Dados do Serviço SAP OData
Para registrar SuccessFactors como an App Builder servidor de fonte de dados, você precisará das seguintes informações:
Exemplo | Notas | |
---|---|---|
Endpoint OData | https://api8.successfactors.com/odata/v2/ | URL da API SuccessFactors: "Seus URLs de endpoint para acessar as APIs OData dependem do data center que hospeda sua instância SuccessFactors." Consulte http://help.sap.com/saphelpiis_cloud4hr/EN/SuccessFactors_HCM_Suite_OData_API_Handbook_en.pdf para obter informações adicionais. |
Nome do provedor de segurança | SuccessFactors | O nome do provedor de segurança conforme fornecido acima. |
Nota
Desde março de 2016, o OData Endpoint parece exigir uma barra final.
Para registrar SuccessFactors como an App Builder servidor de fonte de dados:
- Faça login em App Builder como administrador
- Navegue até o IDE
- Selecione o botão Servidores de Dados
- No painel Servidores de Dados, clique no botão + Servidor
-
Forneça o seguinte:
- Nome: Um nome de servidor exclusivo e lógico.
- Exemplo: SuccessFactors
- Tipo: SuccessFactors
-
URL:
{OData Endpoint}
Example: https://api8.successfactors.com/odata/v2
-
Exemplo:
https://api8.successfactors.com/odata/v2
- Provedor de Segurança:
{Security Provider Name}
-
Clique no botão Salvar
Depois que o servidor de fonte de dados for registrado, clique no botão Testar conexão para garantir que tudo esteja configurado corretamente. Você pode ser solicitado a fazer login com o Okta neste momento.
Solução de Problemas
Uma lista de respostas de erro do SuccessFactors OAuth 2.0 está disponível na seguinte página:
http://help.sap.com/saphelpiis_cloud4hr/EN/SuccessFactors_HCM_Suite_OData_API_Handbook_en.pdf
O apêndice "Mensagens de erro relacionadas ao OAuth 2.0" a seguir contém erros adicionais:
Veja o seguinte para obter informações adicionais sobre solução de problemas:
Provedor de segurança - successfactors OData
"O servidor não está disponível ou as informações de conexão estão incorretas." ao testar a conexão
Certifique-se de que a URL do servidor de fonte de dados termine com uma barra final. Por exemplo:
https://api8.successfactors.com/odata/v2/
Desde março de 2016, o SuccessFactors exige uma barra final.
"É proibido acessar a API OData usando autenticação básica ou OAuth externo em servidores que não sejam API ." ao testar a conexão
É possível que o endpoint da API tenha sido substituído por um novo endpoint. Por exemplo, os seguintes endpoints foram substituídos:
- Em novembro de 2015, o endpoint da API
https://salesdemo4.successfactors.com/
foi substituído porhttps://apisalesdemo4.successfactors.com/
. - Em março de 2016, o endpoint da API
https://hcm8preview.sapsf.com/
foi substituído porhttps://api8preview.sapsf.com/
.