Todos os produtos
Search
Central de documentação

Drive and Photo Service:Acesso OAuth 2.0 para aplicações de servidor web

Última atualização: Jun 28, 2026

Este tópico descreve como acessar o Drive and Photo Service (PDS) a partir de uma aplicação de servidor web usando OAuth 2.0.

Introdução ao OAuth 2.0

O OAuth 2.0 permite autorizar um serviço de terceiros a obter informações sobre seus recursos sem revelar a senha da sua conta.

O OAuth 2.0 oferece suporte aos seguintes métodos de autorização: Authorization Code, Implicit, Resource Owner Password Credentials e Client Credentials. O método Authorization Code proporciona o nível de segurança mais alto. Este tópico utiliza o método Authorization Code.

A figura a seguir ilustra o processo de autorização do OAuth 2.0 com o método Authorization Code.

a2

Processo de acesso para uma aplicação de servidor web

image

Processo:

  1. Login e autorização

    Um usuário acessa a aplicação de servidor web. A aplicação redireciona a solicitação de acesso para o servidor de autenticação. O sistema solicita que o usuário decida se deseja autorizar a aplicação de servidor web.

  2. Obtenção de um token de acesso

    1. Se o usuário concordar em autorizar a aplicação de servidor web, o servidor de autorização redirecionará a solicitação de acesso para a URI de redirecionamento especificada pela aplicação e gerará um código de autorização.

    2. Após receber o código de autorização, a aplicação de servidor web solicita um token de acesso ao servidor de autenticação. Assim, o usuário obtém o token de acesso.

  3. Acesso aos recursos

    O usuário usa o token de acesso para chamar a API do PDS no frontend da aplicação de servidor web.

Pré-requisitos

  • Um serviço compatível com OAuth 2.0 está pronto.

  • O PDS Developer Edition está ativado. Para mais informações, consulte Primeiros passos com o PDS.

Procedimento

Etapa 1: Obter o ID e o segredo de uma aplicação

  1. Faça login no console do PDS. No painel de navegação à esquerda, escolha Drive and Photo Service (Developer Edition) > Domains.

  2. Localize o domínio desejado e clique em Details na coluna Actions.

  3. Crie uma aplicação.

    Nota

    Se nenhuma aplicação estiver disponível, crie uma antes de executar as operações subsequentes.

    1. Na página de detalhes do domínio, clique na aba Applications e, em seguida, clique em Create Application.

    2. No painel exibido, especifique os parâmetros e clique em OK.

      Para o parâmetro Type, selecione WebServer (Web Server Application).

      image

  4. Na lista de aplicações, visualize o ID (client_id) e o Secret (client_secret) da aplicação criada.

    Importante

    Mantenha o segredo em sigilo.

Etapa 2: Autorizar login baseado em OAuth 2.0

  1. Configure os parâmetros de autorização

    Se um usuário ainda não autorizado acessar sua aplicação de servidor web por meio de um navegador, a aplicação deverá criar uma solicitação de autorização. Essa solicitação inclui o client_id da aplicação e os escopos de permissões. O usuário envia a solicitação ao servidor de autorização do PDS para conceder as permissões necessárias à aplicação.

    Exemplo de solicitação:

    GET /v2/oauth/authorize?client_id=<ID>&redirect_uri=<redirect_uri>&login_type=<login_type>&scope=<scope>&response_type=code&state=[state] HTTP/1.1
    Host: {domainId}.api.aliyunpds.com

    A tabela a seguir descreve os parâmetros da solicitação:

    Parâmetro

    Obrigatório

    Descrição

    client_id

    Sim

    O ID da aplicação. Para saber como obter o ID, consulte Obter o ID e o segredo de uma aplicação.

    redirect_uri

    Sim

    A URL de callback, ou seja, a URL para a qual a solicitação é redirecionada após a autorização. Exemplo: https://example.com/callback.

    Após a autorização bem-sucedida, a solicitação do usuário é redirecionada para essa URL. A URL contém um código de verificação de uso único, como https://example.com/callback?code=xxxx.

    Nota

    Certifique-se de que a URL de callback corresponda à URL de callback OAuth 2.0 especificada durante a criação da aplicação.

    scope

    Não

    Os escopos que definem as permissões para as ações exigidas pela aplicação. Esses escopos são um subconjunto daqueles especificados na criação da aplicação e aparecem na página de consentimento. Para mais informações, consulte Escopos.

    Nota

    As permissões representadas pelo token de acesso correspondem à interseção entre as permissões do usuário e as permissões definidas pelos escopos.

    response_type

    Sim

    O tipo de resposta. Defina o valor como code.

    state

    Não, mas recomendado

    O estado. Se a solicitação incluir este parâmetro, o servidor de autenticação devolverá a solicitação com o mesmo estado para evitar ataques de Cross Site Request Forgery (CSRF). Exemplo: https://example.com/callback?code=xxxx&state=abc.

    login_type

    Sim

    A opção de login. Valores válidos:

    • default: fornece uma página de login abrangente com suporte a login por número de celular e outros métodos.

    • phone: login por número de celular.

    • ding: login com DingTalk.

    • ldap: login baseado em Lightweight Directory Access Protocol (LDAP) ou Active Directory (AD).

    • wx: login com uma conta WeChat.

    • ram: login como usuário do Resource Access Management (RAM).

    • lark: login com Lark.

    • saml: login com uma conta de terceiros baseada no protocolo Security Assertion Markup Language (SAML).

    hide_consent

    Não

    Define se a página de autorização do usuário deve ser ignorada nas tentativas de login subsequentes após o primeiro login bem-sucedido. Valores válidos:

    • true (padrão): A página de autorização não é exibida. Os usuários prosseguem diretamente para a próxima etapa.

    • false: A página de autorização é exibida.

    lang

    Não

    O idioma de exibição da página. Valores válidos:

    • zh_CN (padrão): Chinês simplificado

    • en_US: Inglês

  2. Página de consentimento

    Na página de consentimento, o usuário decide se concede as permissões à aplicação. Caso o usuário recuse, o processo termina. Se concordar, o servidor de autorização do PDS redireciona a solicitação do usuário para a redirection URI especificada na Etapa 2.1. Exemplo: https://example.com/callback?code=xxxx&state=abc.

  3. Troque o código de autorização por um token de acesso

    Uma aplicação de servidor web possui duas partes: frontend e backend. Configure a URL de redirecionamento, como https://example.com/callback, no frontend. Ao receber o parâmetro ?code=xxx, o frontend analisa o código e o transmite ao backend. O backend usa o método a seguir para obter um token de acesso e devolvê-lo ao frontend.

    Exemplo de solicitação:

    POST /v2/oauth/token HTTP/1.1
    Host: {domainId}.api.aliyunpds.com
    Content-Type: application/x-www-form-urlencoded
    
    code=xxx\
    &client_id=your_app_id\
    &client_secret=your_app_secret\
    &redirect_uri=https://example.com/callback\
    &grant_type=authorization_code

    Parâmetro

    Obrigatório

    Descrição

    code

    Sim

    O code de autorização de uso único.

    client_id

    Sim

    O ID da aplicação. Para saber como obter o ID, consulte Obter o ID e o segredo de uma aplicação.

    client_secret

    Sim

    O secret gerado durante a criação da aplicação.

    redirect_uri

    Sim

    A URL de callback, ou seja, a URL para a qual a solicitação é redirecionada após a autorização. Exemplo: https://example.com/callback.

    Nota

    Certifique-se de que a URL de callback corresponda à URL de callback OAuth 2.0 especificada durante a criação da aplicação.

    grant_type

    Sim

    O tipo de concessão. Defina o valor como authorization_code, que indica o método Authorization Code.

    Exemplo de resposta:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "access_token":"Aiasd76*****",
      "expires_time":"2019-11-11T10:10:10.009Z",
      "expire_in": 7200,
      "token_type":"Bearer",
      "refresh_token":"LSLKdk*******"
    }

    Parâmetro

    Posição

    Tipo

    Obrigatório

    Descrição

    access_token

    body

    string

    Sim

    O access token gerado, válido por duas horas.

    refresh_token

    body

    string

    Sim

    Token de atualização usado para renovar o access token. Geralmente, o período de validade é de sete dias.

    expires_time

    body

    string

    Sim

    Horário de expiração do access token.

    expire_in

    body

    long

    Sim

    Período de validade do access token. Unidade: segundos. Valor padrão: 7200.

    token_type

    body

    string

    Sim

    Tipo de token. O valor é Bearer.

  4. Chame a API do PDS

    O frontend da web pode usar o access token para chamar as operações de API do PDS. Inclua o access token no cabeçalho Authorization das solicitações de API.

    Para mais informações, consulte Métodos de chamada.

Atualizar o token de acesso

Exemplo de solicitação:

POST /v2/oauth/token HTTP/1.1
Host: {domainId}.api.aliyunpds.com
Content-Type: application/x-www-form-urlencoded

refresh_token=xxx\
&client_id=xxx\
&client_secret=xxx\
&grant_type=refresh_token

A tabela a seguir descreve os parâmetros da solicitação:

Parâmetro

Obrigatório

Descrição

refresh_token

Sim

Token de atualização retornado ao trocar o código de autorização pelo token de acesso.

client_id

Sim

O ID da aplicação.

grant_type

Sim

Tipo de concessão. Defina o valor como refresh_token.

client_secret

Sim

Segredo da aplicação, usado para autenticá-la.

Exemplo de resposta:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "access_token":"xxxxxxxxx",
  "refresh_token": "xxxxx",
  "expires_in":7200,
  "expire_time":"2019-11-11T10:10:10.009Z",
  "token_type":"Bearer"
}

Parâmetro

Posição

Tipo

Obrigatório

Descrição

access_token

body

string

Sim

O access token gerado, válido por duas horas.

refresh_token

body

string

Sim

Token de atualização usado para renovar o access token. Geralmente, o período de validade é de sete dias.

expires_time

body

string

Sim

Horário de expiração do access token.

expire_in

body

long

Sim

Período de validade do access token. Unidade: segundos. Valor padrão: 7200.

token_type

body

string

Sim

Tipo de token. O valor é Bearer.

Perguntas frequentes

Qual é a validade de um código de autorização?

Um código de autorização é válido por 10 minutos e torna-se inválido após o uso.

Qual é a validade de um token de acesso?

Um token de acesso é válido por 2 horas.

O que fazer se o token de acesso expirar?

Use o token de atualização para obter um novo token de acesso.

Referências