Procurar Resultados :

×

Documentação da API OAuth


Concessão de código de autorização

  • Pedido de Autorização

    • O aplicativo precisa primeiro decidir quais permissões está solicitando e, em seguida, enviar o usuário a um navegador para obter a permissão. Para iniciar esse fluxo de autorização, crie uma URL como abaixo e redirecione o navegador do usuário final para a URL:
    •             ENTRE http://<wp_base_url>/wp-json/moserver/authorize
                  ?response_type=code
                  &client_id= <client_id_goes_here>
                  &redirect_uri= <callback_url>
                  &scope= <permissions_requesting>
                  &state= <security_token>
                
    • tipo_de_resposta=código: O tipo de resposta que você espera. Para receber o código de autorização, ele deve ter valor código. Isso informa ao servidor de autorização que o aplicativo está iniciando o fluxo de autorização.
    • ID do cliente: O ID do cliente fornecido pelo provedor OAuth.
    • redirecionamento_uri: URL de retorno para a qual o usuário será redirecionado quando ele permitir ou não o acesso ao seu aplicativo.
    • escopo : Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
    • estado : O aplicativo gera uma string aleatória e a inclui na solicitação. Ele deve então verificar se o mesmo valor é retornado após o usuário autorizar o aplicativo.
    • Se o usuário permitir o acesso ao seu aplicativo, seu navegador será redirecionado para o URL de redirecionamento fornecido e a solicitação incluirá código e estado parâmetros na string de consulta.
    • Por exemplo, o usuário pode ser redirecionado de volta para um URL como
    •               https://example-app.com/redirect
                    ?code=<authorization-code>
                    &state=<security_token>
                
    • O processo de código é um código de autorização que pode ser trocado por um token de acesso. Ele é gerado pelo servidor de autorização e tem vida útil relativamente curta.
    • O processo de estado é o mesmo token de segurança que o aplicativo definiu inicialmente na solicitação.
  • Solicitação de token

    • Se o usuário final concedeu acesso ao seu aplicativo e você recebeu um Código de Autorização, você pode trocar o Código de Autorização por um Token de Acesso fazendo uma solicitação POST ao ponto de extremidade do token.
    • A seguir está um exemplo de solicitação POST:
    •               POST http://<wp_base_url>/wp-json/moserver/token
                    Content-Type: application/x-www-form-urlencoded
               
                    grant_type=authorization_code&
                    code=<authorization_code>&
                    client_id=<client_id>&
                    client_secret=<clientSecret>&
                    redirect_uri=<redirect_uri>
                    
                    
    • Aqui está a descrição de cada parâmetro de solicitação.
      • tipo_de_concessão=código_de_autorização: O tipo de concessão que você está fornecendo. Isso indica que o aplicativo está usando o tipo de concessão de código de autorização.
      • código: O código de autorização recebido na etapa anterior, incluído aqui.
      • redireciona_uri: O mesmo URI que foi fornecido anteriormente na solicitação de autorização.
      • ID do cliente: O ID do cliente fornecido pelo provedor OAuth.
      • segredo_do_cliente: O segredo do cliente fornecido pelo provedor OAuth.
    • No ponto final do token, todos os parâmetros da solicitação serão verificados, garantindo que o código não tenha expirado e que o ID do cliente e o segredo correspondam. Se a solicitação for bem-sucedida, um token de acesso será gerado e retornado na resposta:
    •               HTTP/1.1 200 OK Tipo de conteúdo: aplicativo/json Controle de cache: no-store { "access_token":"hkjher92u9eu2u3uihi2eh9293", "token_type":"bearer", "expires_in":3600, "scope":"profile", "id_token":"" }
                    
    • Aqui está a descrição de cada parâmetro recebido na resposta.
      • token de acesso: token de acesso para o ponto de extremidade Userinfo.
      • tipo_de_token: Valor do tipo de token OAuth 2.0. O valor deve ser O portador.
      • expira_em: O tempo de expiração do token de acesso.
      • escopo: Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
      • token de identificação: O ID Token é um token de segurança que contém declarações sobre a autenticação de um Usuário Final por um Servidor de Autorização ao usar um Cliente e potencialmente outras declarações solicitadas
    • Se a solicitação falhar, a resposta terá o status de 404 Bad Request e terá o seguinte conteúdo:
    •               "error": "invalid_request", "error_description": "Uma descrição mais detalhada do erro destinada ao desenvolvedor do seu aplicativo."
                
  • Solicitação de Recursos

    • Se a solicitação do token for bem-sucedida, você receberá token de acesso na resposta que pode ser usada para acessar os recursos protegidos por meio da API.
    • Solicitação de informações do usuário: A seguir está um exemplo não formativo de solicitação Userinfo:
    •                    ENTRE http://<wp_base_url>/wp-json/moserver/resource
                         Host: server.example.com
                         Authorization: Bearer <access_token>
                      
    • O servidor de recursos valida e verifica o token de acesso e verifica se ele não expirou. Se a solicitação de recurso for válida, o servidor de recursos retorna as declarações, que são representadas por um objeto JSON que contém uma coleção de pares de nome e valor para as declarações.
    • Resposta bem-sucedida do Userinfo:
    • As declarações UserInfo DEVEM ser retornadas como membros de um objeto JSON.

      Abaixo está o exemplo:
    •                 { "id": "1", "nome de usuário": "abc", "nome": "xyz", "sobrenome": "exemplo", "imagem": "https://exemplo.com/-kwtzesU/foto.jpg", "e-mail": "abc@exemplo.com", "localidade": "en",... }
                

Concessão de Código Implícito

  • Pedido de Autorização

    • O aplicativo precisa primeiro decidir quais permissões está solicitando e, em seguida, enviar o usuário a um navegador para obter sua permissão. Para iniciar esse fluxo implícito, crie uma URL como abaixo e redirecione o navegador do usuário final para a URL:
    •               BAIXE http://<wp_base_url>/wp-json/moserver/authorize 
                    ?response_type=token
                    &client_id= <client_id_goes_here>
                    &redirect_uri= <callback_url>
                    &scope= <permissions_requesting>
                    &state= <security_token>
                
    • tipo_de_resposta=token: O tipo de resposta que você está esperando. Isso informa ao servidor de autorização que o aplicativo está iniciando um fluxo implícito. Observe a diferença em relação ao fluxo de Código de Autorização, onde este valor é definido como código.
    • ID do cliente: O ID do cliente fornecido pelo provedor OAuth.
    • redirecionamento_uri: URL de retorno para a qual o usuário será redirecionado quando ele permitir ou não o acesso ao seu aplicativo.
    • escopo : Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
    • estado : O aplicativo gera uma string aleatória e a inclui na solicitação. Ele deve então verificar se o mesmo valor é retornado após o usuário autorizar o aplicativo.
    • Se o usuário permitir o acesso ao seu aplicativo, seu navegador será redirecionado para o URL de redirecionamento fornecido e a solicitação incluirá token digital único, e estado parâmetros na string de consulta.
    • Por exemplo, o usuário pode ser redirecionado de volta para um URL de retorno de chamada, como
    •         https://callback-url?
              #access_token=<access_token>
              &token_type=Bearer
              &expires_in=3600
              &scope=<permissions_requesting>
              
    • Observe as duas principais diferenças entre este e o fluxo do Código de Autorização: o token de acesso é retornado em vez do código de autorização na resposta.
    • O cliente pode então usar o token de acesso para acessar recursos protegidos do servidor de recursos.
      Aqui está a descrição de cada parâmetro recebido na resposta.
      • token de acesso: token de acesso para o ponto de extremidade Userinfo.
      • tipo_de_token: Valor do tipo de token OAuth 2.0. O valor deve ser O portador.
      • expira_em: O tempo de expiração do token de acesso.
      • escopo: Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
  • Solicitação de Recursos

    • O endpoint UserInfo é um recurso protegido por OAuth 2.0 que retorna declarações sobre o usuário final autenticado. As declarações retornadas são representadas por um objeto JSON que contém uma coleção de pares de nome e valor para as declarações.
    • Solicitação de informações do usuário: A seguir está um exemplo não formativo de solicitação Userinfo:
    •              ENTRE http://<wp_base_url>/wp-json/moserver/resource
                   Host: server.example.com
                   Authorization: Bearer <access_token>
                
    • Resposta bem-sucedida do Userinfo:
    • As declarações UserInfo DEVEM ser retornadas como membros de um objeto JSON.

      Abaixo está o exemplo:
    •           { "id": "1", "nome de usuário": "abc", "nome": "xyz", "sobrenome": "exemplo", "imagem": "https://exemplo.com/-kwtzesU/foto.jpg", "e-mail": "abc@exemplo.com", "localidade": "en",... }
                

Concessão de senha

  • O tipo de concessão de senha do proprietário do recurso (ou "password") é usado principalmente em casos em que o aplicativo é altamente confiável. Nessa configuração, o usuário fornece suas credenciais do servidor de recursos (nome de usuário/senha) ao aplicativo cliente, que envia uma solicitação de token de acesso.
  • Solicitação de token

    • A concessão de senha é uma das concessões OAuth mais simples e envolve apenas uma etapa: o aplicativo apresenta um formulário de login tradicional com nome de usuário e senha para coletar as credenciais do usuário e faz uma solicitação POST ao servidor para trocar a senha por um token de acesso. A solicitação POST feita pelo aplicativo se parece com o exemplo abaixo.
    •           POST http://<wp_base_url>/wp-json/moserver/token
                Host: authorization-server.com
                Content-type: application/x-www-form-urlencoded
        
                grant_type=password
                &username=exampleuser
                &password=12345678
                &client_id=xxxxxxxxxx
                &client_secret=xxxxxxxxxx
                
    • Os parâmetros POST nesta solicitação são explicados abaixo.
      • grant_type=senha : Isso informa ao servidor que estamos usando o tipo de concessão de senha
      • nome de usuário = O nome de usuário que eles inseriram no aplicativo
      • password = A senha do usuário que ele inseriu no aplicativo
      • ID do cliente= O identificador público do aplicativo que o desenvolvedor obteve durante o registro
      • segredo_do_cliente= O segredo do cliente fornecido pelo provedor OAuth.
    • No ponto final do token, todos os parâmetros da solicitação serão verificados, garantindo que o código não tenha expirado e que o ID do cliente e o segredo correspondam. Se a solicitação for bem-sucedida, um token de acesso será gerado e retornado na resposta:
    •             HTTP/1.1 200 OK Tipo de conteúdo: aplicativo/json Controle de cache: no-store { "access_token":"hkjher92u9eu2u3uihi2eh9293", "token_type":"bearer", "expires_in":3600, "scope":"profile", "id_token":"" }
                    
    • O cliente pode então usar o token de acesso para acessar recursos protegidos do servidor de recursos.
      Aqui está a descrição de cada parâmetro recebido na resposta.
      • token de acesso: token de acesso para o ponto de extremidade Userinfo.
      • tipo_de_token: Valor do tipo de token OAuth 2.0. O valor deve ser O portador.
      • expira_em: O tempo de expiração do token de acesso.
      • escopo: Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
  • Solicitação de Recursos

    • O endpoint UserInfo é um recurso protegido por OAuth 2.0 que retorna declarações sobre o usuário final autenticado. As declarações retornadas são representadas por um objeto JSON que contém uma coleção de pares de nome e valor para as declarações.
    • Solicitação de informações do usuário: A seguir está um exemplo não formativo de solicitação Userinfo:
    •              ENTRE http://<wp_base_url>/wp-json/moserver/resource
                   Host: server.example.com
                   Authorization: Bearer <access_token>
                
    • Resposta bem-sucedida do Userinfo:
    • As declarações UserInfo DEVEM ser retornadas como membros de um objeto JSON.

      Abaixo está o exemplo:
    •           { "id": "1", "nome de usuário": "abc", "nome": "xyz", "sobrenome": "exemplo", "imagem": "https://exemplo.com/-kwtzesU/foto.jpg", "e-mail": "abc@exemplo.com", "localidade": "en",... }
                

Concessão de credenciais de cliente

  • A concessão de Credenciais de Cliente pode ser usada para autenticação de máquina para máquina. Nesta concessão, um usuário específico não é autorizado, mas as credenciais são verificadas e um access_token genérico é retornado.
  • Solicitação de token

    • Para receber um token de acesso, o cliente envia uma chamada de API POST com os valores de ID do cliente e segredo do cliente obtidos de um aplicativo de desenvolvedor registrado, conforme a seguir.
    •           POST http://<wp_base_url>/wp-json/moserver/token
                    Content-Type: application/x-www-form-urlencoded
               
                    grant_type=client_credentials&
                    client_id=<client_id>&
                    client_secret=<clientSecret>&
                    redirect_uri=<redirect_uri>&
                    scope=<permisssions_requested>
                

    • Parâmetros da solicitação:
      • Os parâmetros da solicitação POST são explicados abaixo.
      • tipo_de_concessão=credenciais_do_cliente: Isso informa ao servidor que estamos usando o tipo de concessão de credenciais do cliente.
      • ID do cliente= O identificador público do aplicativo que o desenvolvedor obteve durante o registro.
      • segredo_do_cliente: O segredo do cliente fornecido pelo provedor OAuth.
      • redirecionamento_uri: URL de retorno para a qual o usuário será redirecionado quando ele permitir ou não o acesso ao seu aplicativo.
      • escopo : Uma ou mais strings separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
    • Se as credenciais forem válidas, o aplicativo receberá de volta um JSON Web Token ou token de acesso assinado, o tipo do token (que é Bearer) e em quanto tempo ele expira em tempo Unix.
    • Resposta de amostra
    •         { "token_de_acesso": , "expires_in": 600, "token_type": "Portador" }
                
    • Elementos de resposta:
      • token de acesso: token de acesso para o ponto de extremidade Userinfo.
      • expira em O tempo de expiração do token de acesso.
      • tipo_de_token: Valor do tipo de token OAuth 2.0. O valor deve ser O portador.
  • Solicitação de Recursos

    • O processo de Concessão de credenciais de cliente não suporta Solicitação de Recursos.

    Concessão de Token de Atualização

    • Um Token de Atualização permite que o aplicativo emita um novo Token de Acesso ou Token de ID sem precisar autenticar o usuário novamente. Isso funcionará enquanto o Token de Atualização não tiver sido revogado.
    • Solicitação de token

      • A resposta da solicitação de token deve conter um token de acesso e um token de atualização.
      •             { "access_token": "etMv23....429hiU32Hri", "refresh_token": "GEbRxBN...edjnXbL", "token_type": "Portador" }
                    
      • Use um token de atualização:
      • Para trocar o Token de Atualização que você recebeu por um novo Token de Acesso, faça uma solicitação POST para o ponto de extremidade do token, usando tipo_de_concessão=token_de_atualização do seguinte modo.
      •               POST http://<wp_base_url>/wp-json/moserver/token
                      Content-Type: application/x-www-form-urlencoded
                      grant_type=refresh_token&
                      client_id=<client_id>&
                      client_secret=<client_secret>&
                      refresh_token=<refresh_token>
                    
      • Aqui está a descrição de cada parâmetro de solicitação.
        • tipo_de_concessão=token_de_atualização: Isso informa ao servidor que estamos usando o tipo de concessão de token de atualização.
        • ID do cliente= O identificador público do aplicativo que o desenvolvedor obteve durante o registro.
        • segredo_do_cliente: O segredo do cliente fornecido pelo provedor OAuth.
        • token de atualização: O token de atualização a ser usado.
      • A resposta incluirá um novo Token de Acesso, seu tipo, seu tempo de vida (em segundos) e os escopos concedidos. Se o escopo do token inicial incluía openid, um novo Token de ID também estará na resposta.
      • A resposta conterá os seguintes parâmetros:
      •             { "access_token": "eyJ...MoQ", "expires_in": 86400, "scope": , "id_token": "eyJ...0NE", "token_type": "Portador" }
                    

    Revogar um Token de Atualização

    • Como os Tokens de Atualização nunca expiram, é essencial poder revogá-los caso sejam comprometidos.
    • Para revogar um Token de Atualização, você pode enviar um POST solicitação ao ponto de extremidade do token da seguinte forma.
    •             POST http://<wp_base_url>/wp-json/moserver/token
                  Content-Type: application/x-www-form-urlencoded
                  client_id=<client_id>&
                  client_secret=<client_secret>&
                  refresh_token=<refresh_token>
                

Teste Grátis

Se não encontrar o que procura, entre em contato conosco em info@miniorange.com ou ligue para +1 978 658 9387 para encontrar uma resposta à sua pergunta sobre o Wordpress OAuth Server.

Assista aos vídeos para saber mais  Assistir à demonstração
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda