Iniciar integrações usando tokens Bearer OAuth 2.0
Quando você inicia uma integração programaticamente, pode fazer a autenticação usando o OAuth 2.0. Para fazer isso, você precisa de um token de acesso de portador, que é obtido usando uma solicitação cURL para um ponto de extremidade do token.
- Registre um cliente de API. Durante a execução da tarefa, considere:Tipo de concessão do clienteConcessão do código de autorizaçãoChave de comprovação de suporte para troca de códigos (PKCE)Marque esta caixa de seleção.Tipo de token de acessoBearerURI de redirecionamentoExemplo: https://google.comConceder consentimento administrativoMarque esta caixa de seleção.EscopoSelecione:
- Implementação
- Integração
- System
- Não configurável pelo locatário
Anote estes valores para uso posterior:- ID de cliente. Exemplo:MjEwNGVmNTgtZWFkNS00MTQ2LWAAZjctNWYxMjBlNTEwMmIz
- Ponto de extremidade de autorizaçãoExemplo:https://<hostname>/super/authorize
- Ponto de extremidade do token. Exemplo:https://<hostname>/ccx/oauth2/super/token
- Gere um verificador de código SHA-256 e um código de validação usando um site de gerador de códigos PKCE. Anote estes valores para uso posterior:
- Verificador de código. Exemplo:Ii-HfGHYN01J0EZtToJwg9Wmuqss8mNF7_SE343tjMR7i_00HbsPA8sJAfMxlLksnfPsAtBo4SyOkYaYOvn1neUjcFM0oPtoFGQ2n7Uf43DXv2byDqWmd2JViccVbGuQ
- Desabilitação de código. Exemplo:x8SJ_t0WfmDB2JKvqwXAE8DxV7W_gP_jTDFVIBVvxYg
- Para obter um código de autorização de um navegador, crie um URL usando valores obtidos anteriormente, neste formato:
Exemplo:<Authorization Endpoint value>?client_id=<Client ID value>&response_type=code&code_challenge=<Code Challenge value>&code_challenge_method=S256https://<hostname>/super/authorize?client_id=MjEwNGVmNTgtZWFkNS00MTQ2LWAAZjctNWYxMjBlNTEwMmIz&response_type=code&code_challenge=x8SJ_t0WfmDB2JKvqwXAE8DxV7W_gP_jTDFVIBVvxYg&code_challenge_method=S256Exemplo: o redirecionamentoInsira o URL em um navegador e aprove o acesso ao seu locatário. Anote o parâmetroAuthorization Codeno redirecionamento resultante.https://www.google.com/?code=6ru2pkjr9k6jsd4e953fu8lu7fornece o código6ru2pkjr9k6jsd4e953fu8lu7. - Para obter um token de acesso de portador, crie uma solicitação POST cURL neste formato:
Exemplo:curl --location --request POST<Token Endpoint value>--header "Origin: https:\\www.google.com" \ --header "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=authorization_code" \-d "code=<Authorization Code value>" \ -d "client_id=<Client ID value>" \ -d "code_verifier=<Code Verifier value>" \ -d "redirect_uri=https:\\www.google.com"
A resposta retorna um token de acesso de portador. Exemplo:curl --location --request POST https://<hostname>/ccx/oauth2/super/token \ --header "Origin: https:\\www.google.com" \ --header "Content-Type: application/x-www-form-urlencoded" \-d "grant_type=authorization_code" \ -d "code=6ru2pkjr9k6jsd4e953fu8lu7" \ -d "client_id=MjEwNGVmNTgtZWFkNS00MTQ2LWAAZjctNWYxMjBlNTEwMmIz" \ -d "code_verifier=Ii-HfGHYN01J0EZtToJwg9Wmuqss8mNF7_SE343tjMR7i_00HbsPA8sJAfMxlLksnfPsAtBo4SyOkYaYOvn1neUjcFM0oPtoFGQ2n7Uf43DXv2byDqWmd2JViccVbGuQ" \ -d "redirect_uri=https:\\www.google.com"{ "access_token": "eyJ0eXAiOiJhdCtKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIzNGNkNWZjYTE1ZGQ0MWQ2OThiMDY2NzAxMWU0YzliZCIsImF1ZCI6Imh0dHBzOi8vaS0wZWMxYWVmNmEzYjA0NmUzYi53b3JrZGF5c3V2LmNvbS9jY3gvIiwic2NvcGUiOiJvYXV0aCIsImlzcyI6Imh0dHBzOi8vaS0wZWMxYWVmNmEzYjA0NmUzYi53b3JrZGF5c3V2LmNvbS9jY3gvdfgpL3YxL3N1cGVyIiwiZXhwIjoxNjk3MDQ1ODc0LCJpqwXQiOjE2OTcwMzE0NzQsImp0aSI6ImRHNDJNRFp6YkdVMk0yb3hlWHB6ZERWNWRYZHpPWE5wWVdkbWQerzVjR0o2YWpOcVp6ZHVPSEJxY0dKcWVUVXdhVGRvWVdONGFXWXlZbkZrZW13M2VUSTVZbXRyWkd0dmVtbGtkbnB0T0RaaGRXRnliakYwTjJNNWEzVmxaRzEwZHpkMExqaGlZbVE0WVdGbExUZGtNV0V0TkRNNU15MDVNekl4TFdObVpURXhPVEJtTmpreVlRPT0iLCJjbGllbnRfaWQiOiJNakV3TkdWbU5UZ3RaV0ZrTlMwME1UUTJMV0psWmpjdE5XWXhNakJsTlRFd01tSXoifQ.jrpz70sPohF5_8BuQ-2YbqdV7HDX9mqDLaVxwTQV959pzOrAdYUfzyvvygc973QdanylpIdDGlffiH28_5JziSgdZJTqZnKazM_vs_paI6OcK3bLi5l-I2DYaf5s18q43w3gd0ONa93FT7UiJjkJyUgWK393CHa3KyaGLbb95rjLbldLB8W1sWuiWEC3Yh8ez-XargwVQiUDPaBw5aC65xtmryGGd9Pue6DPtKqQo6fSZPfOR93oc31aBPsxFABGMxoOq6wTkWpIOY9huiah6ge3ElomFgBeXqc55DI5QM1Qvo4_ap7nZGTsZh9kukqIAtv52f7ydWJ3kZduE0Px_A", "token_type": "Bearer" } - Para iniciar a integração, obtenha um URL de início de integração com o Workday.Crie uma solicitação POST cURL neste formato:
Exemplo:curl -X "POST" https://<launch URL>\ -H 'Authorization: Bearer<Bearer Access Token value>' \ -H 'X-Tenant:<tenantname>' \ -H 'Content-Type: text/plain; charset=utf-8'curl -X "POST" https://<hostname>/ccx/cc-cloud-repo/launches/retrieval_sample/RetrieveNStore/ProcessFirstRetrievedDoc \ -H 'Authorization: Bearer eyJ0eXAiOiJhdCtKV1QiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIzNGNkNWZjYTE1ZGQ0MWQ2OThiMDY2NzAxMWU0YzliZCIsImF1ZCI6Imh0dHBzOi8vaS0wZWMxYWVmNmEzYjA0NmUzYi53b3JrZGF5c3V2LmNvbS9jY3gvIiwic2NvcGUiOiJvYXV0aCIsImlzcyI6Imh0dHBzOi8vaS0wZWMxYWVmNmEzYjA0NmUzYi53b3JrZGF5c3V2LmNvbS9jY3gvdfgpL3YxL3N1cGVyIiwiZXhwIjoxNjk3MDQ1ODc0LCJpqwXQiOjE2OTcwMzE0NzQsImp0aSI6ImRHNDJNRFp6YkdVMk0yb3hlWHB6ZERWNWRYZHpPWE5wWVdkbWQerzVjR0o2YWpOcVp6ZHVPSEJxY0dKcWVUVXdhVGRvWVdONGFXWXlZbkZrZW13M2VUSTVZbXRyWkd0dmVtbGtkbnB0T0RaaGRXRnliakYwTjJNNWEzVmxaRzEwZHpkMExqaGlZbVE0WVdGbExUZGtNV0V0TkRNNU15MDVNekl4TFdObVpURXhPVEJtTmpreVlRPT0iLCJjbGllbnRfaWQiOiJNakV3TkdWbU5UZ3RaV0ZrTlMwME1UUTJMV0psWmpjdE5XWXhNakJsTlRFd01tSXoifQ.jrpz70sPohF5_8BuQ-2YbqdV7HDX9mqDLaVxwTQV959pzOrAdYUfzyvvygc973QdanylpIdDGlffiH28_5JziSgdZJTqZnKazM_vs_paI6OcK3bLi5l-I2DYaf5s18q43w3gd0ONa93FT7UiJjkJyUgWK393CHa3KyaGLbb95rjLbldLB8W1sWuiWEC3Yh8ez-XargwVQiUDPaBw5aC65xtmryGGd9Pue6DPtKqQo6fSZPfOR93oc31aBPsxFABGMxoOq6wTkWpIOY9huiah6ge3ElomFgBeXqc55DI5QM1Qvo4_ap7nZGTsZh9kukqIAtv52f7ydWJ3kZduE0Px_A' \ -H 'X-Tenant: super' \ -H 'Content-Type: text/plain; charset=utf-8'
A resposta em XML do Workday confirma que a integração foi iniciada.