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:
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:
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.