C# ASP.NET aplicação com sinal único

Estou encarregado de implementar um único sinal para os nossos clientes como parte do nosso próximo lançamento. O fluxo existe da seguinte forma:

    O utilizador entra no principal sistema de portais da sua escola utilizando uma identificação/senha de estudante que lhe foi dada pela escola. O utilizador clica a ligação ao produto da minha empresa.
  1. O Utilizador é automaticamente levado para a página do painel como se tivesse acabado de entrar no nosso site através do formulário de autenticação.
Assim, existem dois mecanismos pelo qual um usuário pode ser autenticado em nosso site:

  1. chegando à página inicial do nosso produto, e fazendo login usando o email/senha que armazenamos no nosso sistema local.
  2. Usando o sinal único onde o aluno já entrou no sistema principal da escola com uma identificação de estudante e uma senha.

Se a implementação do nosso produto está em ASP.NET (ao contrário de Java / Ruby), devemos estar usando CAS, JOSSO, ou algum outro terceiro produto single sign-on? Ou há algo disponível para um ambiente. NET que seria mais simples para nós como uma empresa. Net?

Author: Richard Everett, 2013-01-14

4 answers

Existem várias opções para implementar SSO para uma aplicação.Net.

Confira os seguintes tutoriais online:

Bases do sinal único em, Julho 2012

Http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO

GaryMcAllisterOnline: ASP.NET MVC 4, ADFS 2.0 e integração STS de terceiros (IdentityServer2), Jan 2013

Http://garymcallisteronline.blogspot.com/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html

O primeiro usa ASP.NET formulários Web, enquanto o segundo usa ASP.NET MVC4.

Se as suas necessidades lhe permitirem utilizar uma solução de terceiros, considere também o OpenID. Há uma biblioteca de código aberto chamada DotNetOpenAuth.

Para mais informações, leia o post do MSDN blog integre OpenAuth/OpenID com o seu já existente ASP.NET aplicação que utiliza fornecedores universais.

Espero que isto ajude!
 49
Author: Shahed C - MSFT, 2013-05-11 05:00:46
Estou atrasado para a festa, mas para a opção número 1, eu diria: IdentityServer3(.NET 4.6 ou abaixo) ou IdentityServer4 (compatível com Núcleo) .

Pode reutilizar a sua loja de utilizadores existente na sua aplicação e ligá-la à loja de utilizadores do IdentityServer. Em seguida, os clientes devem ser apontados para o seu IdentityServer como o provedor de id aberto.

 8
Author: Evdzhan Mustafa, 2016-11-03 15:50:59

Existem vários fornecedores de identidade com suporte SSO fora da caixa, também produtos de terceiros**.

** o único problema com produtos de terceiros é que eles cobram por usuário/mês, e pode ser bastante caro.

Algumas das ferramentas disponíveis e com APIs para a. NET são:

Se você decidir ir com sua própria implementação, você poderia usar os frameworks abaixo categorizados por linguagem de programação.

  • C#

    • IdentityServer3 (protocolos OAuth/OpenID, OWIN / Katana)
    • IdentityServer4 (protocolos OAuth/OpenID, ASP.NET principal)
    • OAuth 2, 0 por Okta
  • Javascript

    • passaporte-openidconnect (no.js)
    • OIDC-provider (node.js)
    • openid-client (node.js)
  • Python

    • pyoidc
    • Django OIDC Provider

Eu diria IdentityServer4 e ASP.NET Aplicação principal, é fácil de configurar e você também pode adicionar o seu próprio provedor de autenticação. Ele usa protocolos OAuth / OpenID que são mais recentes do que SAML 2.0 e WS-Federation.

 3
Author: Alex.H, 2017-01-23 17:17:14

UltimateSAML SSO é um oasis SAML v1.X e v2. 0 specifications compliant. net toolkit. Ele oferece uma maneira elegante e fácil de adicionar suporte para um único sinal-On e único-Logout SAML para o seu ASP.NET, ASP.NET MVC, ASP.NET aplicações Core, Desktop e serviço. A biblioteca lightweight ajuda você a fornecer acesso SSO a sites da cloud e intranet usando uma única entrada de credenciais.

UltimateSAML revisão SSO detalhada pode ser encontrada aqui

 1
Author: brunoid, 2018-07-01 08:59:27