Procurar Resultados :

×

Registrar Contato

Documentação da API OAuth


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

  • Pedido de Autorização

    • Primeiro, o aplicativo precisa decidir quais permissões solicitará e, em seguida, redirecionar o usuário para um navegador para obter essas permissões. Para iniciar esse fluxo de autorização, crie uma URL como a abaixo e redirecione o navegador do usuário final para essa 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 um código de autorização, ele deve ter um valor. códigoIsso 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 assim que permitir ou negar o acesso ao seu aplicativo.
    • escopo : Uma ou mais sequências de caracteres 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 requisição. Em seguida, deve verificar se o mesmo valor é retornado após o usuário autorizar o aplicativo.
    • Se o usuário permitir o acesso ao seu aplicativo, o navegador dele 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 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 uma validade relativamente curta.
    • O 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 para o endpoint de 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 está incluído aqui.
      • redireciona_uri: O mesmo URI 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 endpoint de token, todos os parâmetros da requisição serão verificados para garantir que o código não tenha expirado e que o ID e o segredo do cliente correspondam. Se a requisiçã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 sequências de caracteres separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
      • token de identificação: O token de ID é 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: Segue abaixo um exemplo não formativo de uma solicitação de informações do usuário:
    •                    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, checando se ele ainda não expirou. Se a solicitação de recurso for válida, o servidor retorna as declarações, que são representadas por um objeto JSON contendo uma coleção de pares nome-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

    • Primeiro, o aplicativo precisa decidir quais permissões solicitará e, em seguida, redirecionar o usuário para um navegador para obter essas permissões. Para iniciar esse fluxo implícito, crie uma URL como a abaixo e redirecione o navegador do usuário final para essa 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ê espera. 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 esse valor é definido como "code".
    • ID do cliente: O ID do cliente fornecido pelo provedor OAuth.
    • redirecionamento_uri: URL de retorno para a qual o usuário será redirecionado assim que permitir ou negar o acesso ao seu aplicativo.
    • escopo : Uma ou mais sequências de caracteres 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 requisição. Em seguida, deve verificar se o mesmo valor é retornado após o usuário autorizar o aplicativo.
    • Se o usuário permitir o acesso ao seu aplicativo, o navegador dele 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 fluxo e o fluxo de 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.
      Segue abaixo 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 sequências de caracteres separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
  • Solicitação de Recursos

    • O endpoint UserInfo é um recurso protegido pelo OAuth 2.0 que retorna declarações (Claims) 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 nome-valor para as declarações.
    • Solicitação de informações do usuário: Segue abaixo um exemplo não formativo de uma solicitação de informações do usuário:
    •              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 "senha") é usado principalmente em casos onde o aplicativo é altamente confiável. Nessa configuração, o usuário fornece suas credenciais do servidor de recursos (nome de usuário/senha) para o aplicativo cliente, que as envia em 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 é semelhante ao 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 ele inseriu 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 endpoint de token, todos os parâmetros da requisição serão verificados para garantir que o código não tenha expirado e que o ID e o segredo do cliente correspondam. Se a requisiçã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.
      Segue abaixo 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 sequências de caracteres separadas por espaços que indicam a permissão que seu aplicativo está solicitando.
  • Solicitação de Recursos

    • O endpoint UserInfo é um recurso protegido pelo OAuth 2.0 que retorna declarações (Claims) 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 nome-valor para as declarações.
    • Solicitação de informações do usuário: Segue abaixo um exemplo não formativo de uma solicitação de informações do usuário:
    •              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 do cliente pode ser usada para autenticação máquina a máquina. Nessa concessão, um usuário específico não é autorizado, mas sim as credenciais são verificadas e um token de acesso genérico é retornado.
  • Solicitação de token

    • Para receber um token de acesso, o cliente envia uma solicitação POST à ​​API com os valores de ID do cliente e segredo do cliente obtidos de um aplicativo de desenvolvedor registrado, conforme descrito 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 assim que permitir ou negar o acesso ao seu aplicativo.
      • escopo : Uma ou mais sequências de caracteres 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 assinado ou um token de acesso, o tipo do token (que é Bearer) e o tempo de expiração 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 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 identificação 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 o token de acesso e o token de atualização.
      •             { "access_token": "etMv23....429hiU32Hri", "refresh_token": "GEbRxBN...edjnXbL", "token_type": "Portador" }
                    
      • Use um token de atualização:
      • Para trocar o Refresh Token recebido por um novo Access Token, faça uma requisição POST para o endpoint de tokens, 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á presente 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 A solicitação para o endpoint de token é feita 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

Caso não encontre o que procura, entre em contato conosco pelo e-mail info@miniorange.com ou pelo telefone +1 978 658 9387 para obter uma resposta à sua pergunta sobre o servidor OAuth do WordPress.

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

Preciso de ajuda? Estamos bem aqui!

ajuda