Table of Contents
Este documento descreve como implementar o seu ponto final de chamada de autenticação do desenvolvedor.
Você precisa implementar seu ponto final de chamada de autenticação do desenvolvedor (e por isso tem que ler este documento) somente se você quiser permitir que desenvolvedores (terceiros) usem Console de desenvolvedores.
O retorno de chamada de autenticação do desenvolvedor é uma API da Web que você é obrigado a implementar para autenticar desenvolvedores. Authlete chama a API da Web quando a autenticação do desenvolvedor é necessária.
Como a Authlete NÃO tem nenhuma tabela de banco de dados para gerenciar contas de desenvolvedores, a Authlete não pode realizar a autenticação do desenvolvedor. Isso é por design. Portanto, a Authlete delega a autenticação do desenvolvedor para o ponto final de chamada de autenticação do desenvolvedor.
Authlete precisa saber a localização do ponto final de chamada de autenticação do desenvolvedor, por isso é necessário definir as informações necessárias através Console do proprietário de serviço. Por favor, siga os passos abaixo.
propriedade | descrição |
---|---|
Callback Endpoint de chamada de autenticação do desenvolvedor | A URL do ponto final de retorno de chamada de autenticação do desenvolvedor. O local deve ser acessível a partir do servidor Authlete. A URL deve começar https:// por segurança. |
Autenticação do desenvolvedor Callback API Key & Secret | Se esses valores não estiverem vazios, Authlete usa os valores para adicionar Authorization cabeçalho para Autenticação Básica ao chamar o ponto final de chamada de autenticação do desenvolvedor. Você pode garantir que as solicitações de autenticação do desenvolvedor tenham vindo da Authlete verificando as credenciais de API. |
Um pedido da Authlete para um ponto final de chamada de autenticação do desenvolvedor segue a especificação descrita abaixo.
POST
método
application/json
Se você definir valores não vazios para “Chave de API de retorno de chamada de autenticação do desenvolvedor” e “Segredo de API de chamada de autenticação do desenvolvedor” do serviço usando Console do proprietário de serviço, solicitações da Authlete contêm Authorization
cabeçalho para Autenticação Básica.
O corpo da entidade de um pedido de chamada de autenticação do desenvolvedor é o JSON. O JSON contém as propriedades listadas na tabela abaixo (DeveloperAuthenticationCallbackRequest.java em authlete-java-comum é sempre o formato mais recente).
Provavelmente, o número de propriedades é muito maior do que você imaginava. No entanto, se você não tem uma mente para apoiar o login social na forma de login do Console do Desenvolvedor, as propriedades que você tem que se preocupar são apenas id
e password
. (O login social para console de desenvolvedor ainda não é suportado.)
propriedade | descrição |
---|---|
serviceApiKey |
A chave API do seu serviço. |
id |
Quando a propriedade do SNS é nula, o id é o valor que o desenvolvedor inseriu no campo “Login ID” na forma de login do Developer Console. Caso contrário, quando a propriedade do SNS não é nula, o id é o valor do sujeito (= identificador único) do desenvolvedor no SNS. |
password |
Quando a propriedade sns é nula, a senha é o valor que o desenvolvedor insira para o campo “Password” na forma de login do Developer Console. Caso contrário, quando a propriedade do SNS não é nula, a senha não tem significado. |
sns |
Quando o desenvolvedor realizou login social na página de login, a propriedade SNS detém o nome do SNS, como FACEBOOK. a propriedade sns é sempre nula, a menos que você habilite suporte de login social na guia “Autenticação do Desenvolvedor” |
accessToken |
Quando o desenvolvedor realizou login social na página de login, o accessToken possui o token de acesso que foi emitido a partir do ponto final do token do SNS. |
refreshToken |
Quando o desenvolvedor realizou login social na página de login, a propriedade updateToken detém o token de atualização que foi emitido a partir do ponto final do token do SNS. Se o SNS não emitiu um token de atualização, esta propriedade será nula. |
expiresIn |
Quando o desenvolvedor realizou login social na página de login, a propriedade expirana detém a duração do token de acesso em segundos. Se o SNS não tiver retornado informações sobre a duração, esta propriedade é 0. |
rawTokenResponse |
Quando o desenvolvedor realizou login social na página de login, a propriedade rawTokenResponse detém o conteúdo da resposta do ponto final do token do SNS. Implementações corretas do aplicativo de retorno de pontos finais de token/json, de modo que o conteúdo da propriedade rawTokenResponse é formatado em JSON. No entanto, observe que o ponto final do Token do Facebook retorna dados no formato de aplicativo/x-www-url-encoded. Trata-se de uma violação contra a RFC 6749 (OAuth 2.0). |
Um ponto final de retorno de chamada de autenticação do desenvolvedor é necessário para retornar uma resposta que esteja em conformidade com os requisitos descritos abaixo.
application/json; charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
O corpo da entidade de uma resposta de retorno de chamada de autenticação do desenvolvedor deve ser JSON. As propriedades previstas para serem contidas no JSON estão listadas na tabela abaixo (DeveloperAuthenticationCallbackResponse.java em authlete-java-comum é sempre o formato mais recente).
propriedade | descrição |
---|---|
authenticated |
O resultado da autenticação. Pôr true quando o desenvolvedor foi autenticado com sucesso. |
subject |
O identificador exclusivo do desenvolvedor em seu serviço. Deve consistir apenas em letras ASCII imprimíveis e seu comprimento não deve exceder 100. Note que o valor de subject propriedade na resposta não tem que ser igual ao valor de id propriedade no pedido. Por exemplo, se o seu serviço pode identificar um desenvolvedor por um endereço de e-mail, seu serviço pode procurar um desenvolvedor por um endereço de e-mail quando o dado id parece um endereço de e-mail. Nesse caso, o valor de subject propriedade na resposta é diferente de id propriedade na solicitação (a menos que seu sistema use endereços de e-mail como assuntos de desenvolvedores). Quando authenticated propriedade é false , subject a propriedade pode ser nula. |
displayName |
O nome de exibição do desenvolvedor. Pode ser nulo. Seu comprimento não deve exceder 100. |
TBW