Configurando a autenticação da API OData do SuccessFactors no Jitterbit App Builder
O SuccessFactors suporta o fluxo de SAML Bearer Assertion do OAuth 2.0. Esse fluxo fornece autorização restrita ao usuário, trocando asserções SAML por tokens de acesso, conforme descrito na seguinte especificação:
https://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-23
Este documento abrange as seguintes tarefas:
- Registrar o App Builder como um aplicativo cliente OAuth2 do SuccessFactors
- Registrar o SuccessFactors como um provedor de segurança do App Builder.
- Registrar o servidor de fonte de dados do Serviço OData da SAP.
Requisitos
Para prosseguir, você precisará do seguinte:
- Uma conta existente do SuccessFactors.
- Acesso de administrador à conta do SuccessFactors.
- Acesso de administrador ao App Builder.
Registrar o App Builder como um aplicativo cliente OAuth2 do SuccessFactors
O App Builder precisará ser registrado dentro do SuccessFactors como um Aplicativo Cliente OAuth2. Para registrar o 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 do App Builder como Aplicativos Clientes OAuth2, dê a cada um um nome distinto. |
URL do Aplicativo | https://example.com/Vinyl/ | Esta é a raiz da web do App Builder. A URL deve incluir a barra final. |
Nome Comum | example.com | Esta é a parte do nome do host da raiz da web. |
Para registrar o App Builder como uma Aplicação Cliente OAuth2 do SuccessFactors:
- Faça login no SuccessFactors como administrador
- Navegue até o Admin Center
- Selecione Configurações da Empresa → Gerenciar Aplicações Cliente OAuth 2
- Clique no botão Registrar Aplicação Cliente
- Forneça o Nome da Aplicação e a URL da Aplicação
- Clique no botão Gerar Certificado X.509
- Forneça o Nome Comum (CN)
- Clique no botão Gerar
- Clique no botão Baixar para salvar o certificado
- Clique no botão Registrar
Uma vez registrado, o SuccessFactors atribuirá uma Chave API. A Chave API, juntamente com o certificado, será necessária para completar os procedimentos restantes.
Converter certificado
O SuccessFactors gera um certificado no formato PEM; o App Builder requer um certificado codificado em base64, no formato PKCS#12. Uma discussão completa sobre este tópico está fora do escopo deste documento. No entanto, a título de exemplo, a ferramenta de linha de comando OpenSSL pode ser usada 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. Anote a senha, pois será necessária mais tarde.
Para codificar o certificado em base64:
openssl base64 -in certificate.pfx -out certificate.txt -A
Para informações adicionais sobre os certificados de Aplicações Cliente OAuth2 do SuccessFactors, consulte o seguinte documento:
http://help.sap.com/saphelpiis_cloud4hr/EN/SuccessFactors_HCM_Suite_OData_API_Handbook_en.pdf
Nota
No momento da redação, 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 estas devem ser quebras de linha no estilo Unix (feed de linha), e não quebras de linha no estilo Windows ou Internet (pares de feed de linha / retorno de carro).
Registrar o SuccessFactors como um provedor de segurança do App Builder
Para registrar o SuccessFactors como um provedor de segurança do App Builder, você precisará das seguintes informações:
Exemplo | Notas | |
---|---|---|
Chave da API | A chave da API é atribuída pelo 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 OAuth2 do SuccessFactors (veja acima). | |
Senha do Certificado de Assinatura | A senha do certificado de assinatura é atribuída ao gerar o certificado no formato PKCS#12. | |
ID da Empresa | O identificador da empresa do SuccessFactors. | |
URL da API da Instância | https://api8.successfactors.com/ | URL da API do SuccessFactors: "Seus URLs de endpoint para acessar as APIs 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 informações adicionais. |
Nota
The URL does not contain the /odata/v2 path. App Builder will append the path.
Para registrar o SuccessFactors como um provedor de segurança do App Builder:
- Faça login no App Builder como Administrador
- Navegue até o IDE
- Clique no botão Security Providers
- No painel de Autenticação de Fonte de Dados, clique no botão + Data Source Authentication
-
Forneça o seguinte:
- Name: Um nome único para o provedor de segurança.
- Example: SuccessFactors
- Type: SuccessFactors OData
-
Priority: Um número inteiro único entre 10 e 100. Observe que esse valor deve ser único.
Exemplo: 40
-
Clique no botão Save
-
Defina as seguintes propriedades (No painel de Propriedades, clique no botão + Property → Selecione o Parameter → Forneça o Value → Clique no ícone Save):
- AuthenticationType: Saml
- CompanyID: Company ID
- ApiKey: API Key
- InstanceApiUrl: Instance API URL
- SigningCertificate: Signing Certificate
- SigningCertificatePassword: Signing Certificate Password
-
Clique no botão Edit no painel de Providers
- Marque a opção Enabled
- Clique no botão Save
Registrar o servidor de fonte de dados do serviço SAP OData
Para registrar o SuccessFactors como um servidor de fonte de dados do App Builder, você precisará das seguintes informações:
Exemplo | Notas | |
---|---|---|
OData Endpoint | https://api8.successfactors.com/odata/v2/ | URL da API do SuccessFactors: "Seus URLs de endpoint para acessar as APIs 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 informações adicionais. |
Security Provider Name | SuccessFactors | O nome do provedor de segurança conforme fornecido acima. |
Nota
A partir de março de 2016, o Endpoint OData parece exigir uma barra no final.
Para registrar o SuccessFactors como um Servidor de Fonte de Dados do App Builder:
- Faça login no App Builder como administrador
- Navegue até o IDE
- Selecione o botão Data Servers
- No painel Data Servers, clique no botão + Server
-
Forneça o seguinte:
- Name: Um nome de servidor lógico e único.
- Example: SuccessFactors
- Type: SuccessFactors
-
URL:
{OData Endpoint}
Exemplo: https://api8.successfactors.com/odata/v2
-
Example:
https://api8.successfactors.com/odata/v2
- Security Provider:
{Security Provider Name}
-
Clique no botão Save
Uma vez que o servidor de fonte de dados tenha sido registrado, clique no botão Test Connection para garantir que tudo esteja configurado corretamente. Você pode ser solicitado a fazer login com o Okta neste momento.
Troubleshooting
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 seguinte apêndice "Mensagens de Erro Relacionadas ao OAuth 2.0" contém erros adicionais:
Consulte o seguinte para informações adicionais de solução de problemas:
Security provider - successfactors OData
"Either the server is unavailable or the connection information is incorrect." when testing connection
Certifique-se de que a URL do servidor de fonte de dados termine com uma barra no final. Por exemplo:
https://api8.successfactors.com/odata/v2/
A partir de março de 2016, o SuccessFactors requer uma barra no final.
"Accessing OData API using Basic authentication or External OAuth on non-API servers is forbidden." when testing connection
É 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/
.