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:
- O utilizador inicia a autorização através da aplicação cliente.
- A cliente redireciona o utilizador para o servidor de autorização.
- O utilizador autentica-se e dá o seu consentimento.
- O servidor de autorização emite um token de acesso à cliente.
- 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