Eu tenho lido o oAuth nos últimos dias, mas há uma coisa que não está totalmente clara para mim.
Então, eu tenho esse Servidor de Autorização oAuth que (pular alguns passos aqui no meio) no final fornece um Token de Acesso que me permite acessar uma API específica.
A maioria dos artigos agora assume que essa API será uma espécie de ponto de extremidade / me que contém as informações do usuário. A suposição é que esta API viva na mesma máquina que o Authorization Server
O que eu quero fazer é proteger um número de APIs em toda a nossa rede via oAuth.
Por exemplo, eu tenho essa API em foo.domain.com que meu cliente quer acessar. Assim, o cliente fala ao AuthServer com seu clientId e credenciais (assumindo os Subsídios de Credenciais do Cliente) e recebe um AccessToken que ele enviará com as solicitações para foo.domain.com
Agora, minha pergunta seria: Como o servidor foo.domain.com obtém acesso aos dados por trás desse AccessToken (que deve ser pelo menos clientId e escopo)? Ele residirá em algum tipo de banco de dados, você simplesmente permite o acesso do host da API a esse banco de dados?
De um ponto de vista de segurança que parece bastante inseguro. Caso meu host da API seja comprometido, um invasor pode simplesmente ler todo o AccessToken do banco de dados e obter acesso a qualquer API que armazene tokens lá.
Quais seriam suas estratégias para limitar uma API específica a receber apenas o "seu" token e, ao mesmo tempo, manter um sistema centralizado de gerenciamento de credenciais e usuários.
Obrigado por nos avisar com antecedência
wirtsi