Autenticação do servidor
Pré-requisitos
Este guia pressupõe que você já tenha cumprido os seguintes requisitos:
- O recurso “Funcionalidades de rede” está ativado no seu aplicativo da Vonage. Siga estas instruções guia para ler informações detalhadas sobre como fazer isso.
- Você tem um
JWT. Você pode usar o nosso gerador online para criar umJWTusando sua chave privada e o ID do seu aplicativo Vonage, ambos encontrados no painel do cliente, ou siga as instruções aqui usar outro método.
Referência da API de Autenticação
A especificação OpenAPI para os pontos de extremidade de autenticação do Network Feature está disponível aqui.
Fluxo de autenticação
Fazer uma chamada de API é um processo que envolve três etapas:
- O aplicativo de back-end solicita um ID de autorização.
- O aplicativo de back-end usa esse ID de autorização para solicitar um token de acesso CAMARA.
- Por fim, o aplicativo de back-end usa o token de acesso para fazer a chamada à API.
Fazer uma solicitação OIDC
O OpenID Connect (OIDC) é uma camada de identidade desenvolvida com base no protocolo OAuth 2.0, que oferece uma maneira de verificar a identidade de um usuário utilizando o JWT token.
POST https://api-eu.vonage.com/oauth2/bc-authorize
curl -X POST https://api-eu.vonage.com/oauth2/bc-authorize \
--header "Authorization: Bearer $JWT" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "login_hint=$PHONE_NUMBER" \
--data-urlencode "scope=$SCOPE"
Cabeçalhos
| Cabeçalho | Descrição |
|---|---|
Authorization |
Deve ser definido como Bearer juntamente com o JWT token gerado na etapa anterior. O JWT deve corresponder ao aplicativo aprovado para o uso dos recursos de rede. |
Content-Type |
Deve ser definido como application/x-www-form-urlencoded. |
Parâmetros corporais
| Parâmetro | Descrição |
|---|---|
login_hint |
(Obrigatório) O número de telefone (incluindo o código do país) que você deseja verificar, por exemplo: +447700900000 |
scope |
(Obrigatório) Escopo em formato de string. |
Se você quiser fazer uma chamada de API para um número de telefone diferente, será necessário gerar um novo token de acesso para esse número.
Resposta
Se a operação for bem-sucedida, a resposta conterá um 200 OK status e os seguintes dados JSON no corpo da resposta:
{
"auth_req_id": "$AUTH_REQ_ID",
"expires_in": 120,
"interval": 2
}
| Parâmetro | Tipo | Descrição |
|---|---|---|
auth_req_id |
sequência de caracteres | A sequência de caracteres do ID de autorização de que você precisará para a próxima etapa. |
expires_in |
int | O número de segundos até que o código de autenticação expire |
interval |
int | O número de segundos até que a próxima solicitação deva ser feita |
Solicitar um token de acesso CAMARA
Para solicitar um token de acesso CAMARA, envie uma solicitação POST para https://api-eu.vonage.com/oauth2/token
curl -X POST https://api-eu.vonage.com/oauth2/token \
--header "Authorization: Bearer $JWT" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "auth_req_id=$AUTH_REQ_ID" \
--data-urlencode "grant_type=urn:openid:params:grant-type:ciba"
Cabeçalhos
| Cabeçalho | Descrição |
|---|---|
Authorization |
Deve ser definido como Bearer juntamente com o JWT token gerado na etapa anterior. O JWT deve corresponder ao aplicativo aprovado para o uso dos recursos de rede. |
Content-Type |
Deve ser definido como application/x-www-form-urlencoded. |
Parâmetros corporais
| Parâmetro | Descrição |
|---|---|
auth_req_id |
(Obrigatório) Isso é fornecido na resposta do etapa anterior. |
grant_type |
(Obrigatório) Deve ser definido como urn:openid:params:grant-type:ciba. |
Resposta
Se a operação for bem-sucedida, a resposta conterá um 200 OK status e os seguintes dados JSON no corpo da resposta:
{
"access_token": "$ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 3600
}
| Parâmetro | Tipo | Descrição |
|---|---|---|
access_token |
sequência de caracteres | O token de acesso que será utilizado durante as chamadas à API. |
token_type |
sequência de caracteres | Está sempre definido como Bearer. |
expires_in |
int | O período de tempo (em segundos) durante o qual o token de acesso é válido. |
Faça a chamada à API
Todas as chamadas com recursos de rede devem conter o seguinte cabeçalho:
| Cabeçalho | Descrição |
|---|---|
Authorization |
Deve ser definido como Bearer juntamente com o access token gerado no etapa anterior. |
Exemplo de solicitação
O exemplo a seguir mostra como fazer uma chamada de API para API de troca de SIM usando o token de acesso:
curl -X POST https://api-eu.vonage.com/camara/sim-swap/v040/check \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data $'{
"phoneNumber": "'$PHONE_NUMBER'",
"maxAge": 240
}'
Exemplo de resposta
Se a operação for bem-sucedida, a resposta conterá um 200 OK status e os seguintes dados JSON no corpo da resposta:
{
"swapped": true
}