Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento do protocolo OAuth e as suas principais características?

sobes.tech IA

Resposta da IA

OAuth é um protocolo de autorização que permite a aplicações de terceiros obterem acesso limitado aos recursos do utilizador sem transmitir a sua palavra-passe.

Principais características do OAuth:

  • Utiliza tokens de acesso em vez de palavras-passe.
  • Permite ao utilizador controlar quais os direitos que a aplicação recebe.
  • Suporta diferentes fluxos de autorização (código de autorização, implícito, credenciais do cliente, etc.).

Princípio de funcionamento:

  1. O utilizador inicia a autorização através da aplicação cliente.
  2. A cliente redireciona o utilizador para o servidor de autorização.
  3. O utilizador autentica-se e dá o seu consentimento.
  4. O servidor de autorização emite um token de acesso à cliente.
  5. A cliente usa o token para aceder a recursos protegidos.

Exemplo de fluxo simplificado usando o código de autorização:

// Pseudo-código para obter o token
resp, err := http.PostForm("https://auth.server.com/token", url.Values{
    "grant_type": {"authorization_code"},
    "code": {authCode},
    "redirect_uri": {redirectURI},
    "client_id": {clientID},
    "client_secret": {clientSecret},
})
// Depois usar o token obtido para requisições à API