Saml vs. Oauth

Saml vs. Oauth
Saml e Oauth são padrões técnicos para autorizar usuários. Esses padrões são usados ​​por desenvolvedores de aplicativos da web, profissionais de segurança e administradores de sistemas que desejam melhorar seu serviço de gerenciamento de identidade e aprimorar métodos que os clientes podem acessar recursos com um conjunto de credenciais. Nos casos em que o acesso a um aplicativo de um portal é necessário, é necessário uma fonte de identidade centralizada ou um único sinal. Nesses casos, o SAML é preferível. Nos casos em que é necessário acesso temporário a recursos como contas ou arquivos, o OAuth é considerado a melhor escolha. Nos casos de uso móvel, OAuth é usado principalmente. Tanto o SAML (Asserção de Segurança e a linguagem de marcação) quanto o OAuth (autorização aberta) são usados ​​para sinalização única da web, fornecendo a opção de sinal único para vários aplicativos da Web.

Saml

Saml é usado para permitir que os provedores de SSO da Web Applications transfiram e movam credenciais entre o provedor de identidade (IDP), que detém as credenciais e o provedor de serviços (SP), que é o recurso que precisa dessas credenciais. Saml é uma linguagem de protocolo de autorização e autenticação padrão que é usada principalmente para executar a federação e o gerenciamento de identidade, juntamente com o sinal único no gerenciamento. Em Saml, Os documentos de metadados XML são usados ​​como um token para o envio da identidade do cliente. O processo de autenticação e autorização de Saml é o seguinte:

  1. O usuário solicita fazer login no serviço através do navegador.
  2. O serviço informa ao navegador que está autenticando para um provedor de identidade específico (IDP) registrado no serviço.
  3. O navegador retransmite a solicitação de autenticação aos provedores de identidade registrados para login e autenticação.
  4. Após uma verificação bem-sucedida de credenciais/autenticação, o IDP gera um documento de afirmação baseado em XML, verificando a identidade do usuário e retransmite isso para o navegador.
  5. O navegador transmite a afirmação ao provedor de serviços.
  6. O provedor de serviços (SP) aceita a afirmação de entrada e permite o acesso ao usuário ao serviço, registrando -os em.

Agora, vejamos um exemplo da vida real. Suponha que um usuário clique no Conecte-se Opção no serviço de compartilhamento de imagens no site ABC.com. Para autenticar o usuário, uma solicitação de autenticação SAML criptografada é feita pela ABC.com. A solicitação será enviada do site diretamente para o servidor de autorização (IDP). Aqui, o provedor de serviços redirecionará o usuário para o IDP para autorização. O IDP verificará a solicitação de autenticação SAML recebida e, se a solicitação for válida, apresentará ao usuário um formulário de login para inserir as credenciais. Depois que o usuário insere as credenciais, o IDP gerará uma asserção SAML ou token SAML contendo os dados e identidade do usuário e o enviará para o provedor de serviços. O provedor de serviços (SP) verifica a asserção SAML e extrai os dados e a identidade do usuário, atribui as permissões corretas ao usuário e registra o usuário no serviço.

Os desenvolvedores de aplicativos da Web podem usar plugins SAML para garantir que o aplicativo e o recurso sigam o sinal único necessário nas práticas. Isso será uma melhor experiência de login de usuário e práticas de segurança mais eficazes que aproveitam uma estratégia de identidade comum. Com o SAML no lugar, apenas os usuários com o token de identidade e asserção corretos podem acessar o recurso.

Oauth

Oauth é usado quando há necessidade de passar a autorização de um serviço para outro, sem compartilhar as credenciais reais, como a senha e o nome de usuário. Usando Oauth, Os usuários podem fazer login em um único serviço, acessar os recursos de outros serviços e executar ações no serviço. OAuth é o melhor método usado para passar a autorização de um único sinal na plataforma para outro serviço ou plataforma, ou entre dois aplicativos da Web. O Oauth O fluxo de trabalho é o seguinte:

  1. O usuário clica no botão de login de um serviço de compartilhamento de recursos.
  2. O servidor de recursos mostra ao usuário uma concessão de autorização e redireciona o usuário para o servidor de autorização.
  3. O usuário solicita um token de acesso ao servidor de autorização usando o código de concessão de autorização.
  4. Se o código for válido após o login no servidor de autorização, o usuário receberá um token de acesso que pode ser usado para recuperar ou acessar um recurso protegido do servidor de recursos.
  5. Ao receber uma solicitação de um recurso protegido com um token de concessão de acesso, a validade do token de acesso é verificada pelo servidor de recursos com a ajuda do servidor de autorização.
  6. Se o token for válido e passar todas as verificações, o recurso protegido será concedido pelo servidor de recursos.

Um uso comum do OAuth está permitindo que um aplicativo da web acesse uma plataforma de mídia social ou outra conta online. As contas de usuário do Google podem ser usadas com muitos aplicativos de consumo por vários motivos diferentes, como blogs, jogos on -line, login com contas de mídia social e leitura de artigos em sites de notícias. Nesses casos, o OAuth funciona em segundo plano, para que essas entidades externas possam ser vinculadas e podem acessar os dados necessários.

OAuth é uma necessidade, pois deve haver uma maneira de enviar informações de autorização entre diferentes aplicativos sem compartilhar ou expor as credenciais do usuário. OAuth também é usado em empresas. Por exemplo, suponha que um usuário precise acessar o sinal único de uma empresa no sistema com seu nome de usuário e senha. O SSO oferece acesso a todos os recursos necessários, aprovando os tokens de autorização da OAuth para esses aplicativos ou recursos.

Conclusão

OAuth e SAML são muito importantes do ponto de vista de um desenvolvedor de aplicativos da Web ou do administrador do sistema, enquanto os dois são ferramentas muito diferentes com diferentes funções. OAuth é o protocolo para autorização de acesso, enquanto o SAML é um local secundário que analisa a entrada e fornece autorização ao usuário.