Como usar o IdentityServer ThinkTecture 3 na Api 2 Web

Tenho lido muito sobre como implementar um sistema completo de autenticação e autorização em Asp.Net a Api 2 da Web, que inclui o registo, o envio de Confirmações de E-mail, a emissão de fichas de acesso e de actualização, etc. Afinal de contas, fiz tudo isso com êxito, mas parece-me uma sobrecarga tão desnecessária ter de o fazer para cada projecto.

ainda não tenho a certeza, mas acredito que o "IdentityServer Thinktecture" é um pacote que foi colocado juntos para fornecer tudo isto, certo?

Se sim, alguém me pode dizer (de uma forma muito direta) como posso criar um novo projeto de Api Web e facilmente obter todas as características acima mencionadas usando este pacote?

Author: T-Heron, 2015-07-27

2 answers

O Thinktecture identity server v3 é uma colecção de módulos altamente configuráveis, por isso há uma quantidade razoável de código para escrever para configurá-lo como quiser. The Thinktecture wiki has a good 'hello world' example that might be enough to get you going:

Olá, Mundo.

Depois disso, descarregue as amostras, encontre a que mais se adequa à sua situação e baseie-se nisso. Em particular, você vai querer configurar um banco de dados para salvar seus usuários registrados. O projecto "MembershipReboot" relacionado é geralmente aquele que utiliza para aceder aos dados, juntamente com o "MembershipReboot".Ef ' addon que irá auto-criar a sua base de dados usando EntityFramework.

MembershipReboot é onde você configura os eventos de E-mail que deseja usar.

Configuração do E-mail na reinicialização dos Membros

 4
Author: bitcoder, 2016-08-24 04:35:26

Aqui está para usar o servidor de identityServer3 que você criou separadamente:

(IdentityServer3 tem alguns exemplos fora da caixa de configuração do servidor que podem ser bons o suficiente para si, ou podem apenas precisar de uma pequena configuração)

Nuget o Microsoft OpenID Connect (penso que se chama: Microsoft.Owin.Seguranca.OpenIdConnect)

Aponta o middleware OpenID Connect (também no arranque.cs) ao IdentityServer.

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
    Authority = "https://myIdsrv3Path/identity",
    ClientId = "myapi",
    RedirectUri = "https://myIdsrv3Path/", // or 
    ResponseType = "id_token",

    SignInAsAuthenticationType = "Cookies"
});

Na lista de IdentityServer3, os clientes aceites devem incluir "myapi", com as alegações de que precisa.

Há mais para explicar sobre a autorização, mas isto responde à sua pergunta básica para garantir uma api.

Ver a documentação IdentityServer3: https://identityserver.github.io/Documentation/docsv2/overview/mvcGettingStarted.html

Vá até à secção chamada: adicionar e configurar o middleware de autenticação OpenID Connect.

 2
Author: pashute, 2015-11-11 09:52:01