Autenticação

Entenda como receber e utilizar as informações de autenticação.
Escrito por Suporte yube
Atualizado 3 anos atrás

A API da Yube necessita que a chave de acesso, gerada através da mutation de Login, seja enviada junto às requisições que necessitam de autenticação.

Não esqueça de acessar Primeiros Passos para conhecer os endereços de API e como a API da Yube funciona.

Solicitando chave de acesso

Para conseguir conseguir sua chave de acesso basta você passar as credenciais de acesso para a API através da mutation abaixo.

Mutation

mutation Login($input: LoginInput!) {
  login(input: $input) {
    token
    user {
      id
      name
      email
    }
  }
}

Variables

{
  "input": {
    "email": "email address",
    "password": "senha text plain"
  }
}

Exemplo de Resposta

{
  "data": {
    "viewer": {
      "id": "root_viewer_id",
      "user": {
        "__typename": "User",
        "email": "dev@yube.com.br",
        "groups": [
          {
            "__typename": "Group",
            "id": "R3JvdXA6YzA1MWQwYTMtY2IyYy00ZGRkLWJkN2ItMjE2NmUzOTRmOGMz",
            "name": "Todo o Time",
            "organization": {
              "__typename": "Organization",
              "id": "T3JnYW5pemF0aW9uOjZkMjdlNmRjLTZkY2EtNDlmZC1iZTZiLWRkYmY0ZjhkOTBjOQ==",
              "pipeStatus": [
                {
                  "__typename": "Status",
                  "category": "IN_PROGRESS",
                  "description": null,
                  "id": "U3RhdHVzOjEwYTFlMzFkLWYyMzItNGIyYS05MGZlLTQwY2JhNmVjNjQ5NQ==",
                  "name": "Convidado"
                },
                {
                  "__typename": "Status",
                  "category": "IN_PROGRESS",
                  "description": null,
                  "id": "U3RhdHVzOjQ2NWNhZDBhLTMxZDgtNDU0Zi1iZjcyLWNmNmZkMzE5ZDU5NA==",
                  "name": "Em Cadastro"
                },
                {
                  "__typename": "Status",
                  "category": "IN_PROGRESS",
                  "description": null,
                  "id": "U3RhdHVzOjc2MmQwODk0LThkMmEtNDhjOC1hODQ0LTNkMGU1OGE1NWNiOA==",
                  "name": "Pronto"
                },
                {
                  "__typename": "Status",
                  "category": "DONE",
                  "description": null,
                  "id": "U3RhdHVzOjRiZmE1ZjUyLTA0N2ItNGE5Yy1hYTlkLWQ2NTIzOTIzYTU5MA==",
                  "name": "Arquivado"
                },
                {
                  "__typename": "Status",
                  "category": "DONE",
                  "description": null,
                  "id": "U3RhdHVzOjFhNzllZWZlLWQ2M2QtNDY3Yy1iOGZlLWRmYzhkYjdkZTVmMg==",
                  "name": "Finalizado"
                }
              ],
              "title": "Yube Tecnologia"
            }
          }
        ],
        "id": "VXNlcjplYWFlNTgxYy03NmI4LTQ3MjAtYmQyMy1jNDhjNGM4MzA4OGY=",
        "name": "Yube Desenvolvimento"
      }
    }
  }
}

Enviando requisições autenticadas

Com a chave de acesso (campo "token") da resposta da mutation de Login agora é possível fazer requisições de leitura ou escrita das informações.

Exemplo de como puxar as informações do usuário logado utilizando a ferramenta de linha de comando curl:

curl 'https://api.yube.com.br/'  
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN'  
  -d '{"query":""{viewer{iduser{idemailnamemobilePhone}}}""}'

Exemplo utilizando a ferramenta GraphQL Explorer:

Não se esqueça de substituir o YOUR_AUTH_TOKEN pela chave de acesso (token) retornada na resposta da mutation de Login.

Exemplo de Query

{
  viewer {
    id
    user {
      id
      email
      name
      mobilePhone
    }
  }
}

Exemplo de Resposta

{
  "data": {
    "viewer": {
      "user": {
        "email": "dev@yube.com.br",
        "id": "VXNlcjplYWFlNTgxYy03NmI4LTQ3MjAtYmQyMy1jNDhjNGM4MzA4OGY=",
        "mobilePhone": null,
        "name": "Yube Desenvolvimento"
      }
    }
  }
}
Esse artigo foi útil?