OAuth é um bom ajuste aqui?

5

Estamos analisando a adição de autenticação a diversas APIs que estamos prestes a desenvolver. A solução é totalmente fluida como está atualmente, mas a premissa básica é que há uma camada de API com a qual o cliente faz interface e várias APIs por trás dessa camada inicial.

Parte do diagrama proposto contém um servidor de logon único que permite que os usuários façam a autenticação uma vez e usam o token gerado para obter acesso a todos os recursos disponíveis.

Quanto mais eu leio isso, mais bizarro meu entendimento de como oAuth vai se encaixar nesse modelo é. Pelo que vejo, o oAuth simplesmente suporta a autenticação de aplicações cliente que o usuário deseja conceder algumas permissões.

Nosso objetivo é criar uma funcionalidade de login simples, mas de uma maneira de logon único. OAuth é um bom ajuste para isso ou existe uma solução mais apropriada para delegar confiança de autenticação para um único servidor para vários aplicativos?

    
por christopher 20.08.2016 / 10:39
fonte

1 resposta

1

OAuth é um protocolo de autorização, não de autenticação.

Em algum momento do processo, um usuário precisa se autenticar no servidor de autorização para provar que pode autorizar o acesso ao recurso protegido do seu aplicativo.

Um serviço de autenticação pode ser criado em cima de oauth2 porque o recurso protegido pode ser uma informação sobre o usuário que o identifica de forma exclusiva, mas para isso você precisa entender bem o OAuth e por que ele não é adequado para autenticação fora da caixa.

Felizmente, os caras do OpenID Connect já fizeram o trabalho pesado para você.

Supondo que quando você disse "OAuth" você realmente quis dizer "OpenID", eu diria que sim, usá-lo para um esquema SSO é uma boa idéia: funciona bem, é bem comprovado e escala muito.

Também é muito fácil integrá-lo em quase tudo.

    
por 27.08.2016 / 00:08
fonte