Provedores de autenticação OAuth externos

Por Rick Anderson, Pranav Rastogi e Valeriy Novytskyy

A lista a seguir inclui provedores de autenticação OAuth externos comuns que funcionam com aplicativos ASP.NET Core. Pacotes NuGet de terceiros, como os mantidos pelo aspnet-contrib, podem ser usados para complementar os provedores de autenticação implementados pela equipe de ASP.NET Core.

Vários provedores de autenticação

Quando o aplicativo exigir vários provedores, encadeie os métodos de extensão do provedor atrás de AddAuthentication:

services.AddAuthentication()
    .AddMicrosoftAccount(microsoftOptions => { ... })
    .AddGoogle(googleOptions => { ... })
    .AddTwitter(twitterOptions => { ... })
    .AddFacebook(facebookOptions => { ... });

Encaminhar informações de solicitação com um proxy ou balanceador de carga

Se o aplicativo for implantado atrás de um servidor proxy ou um balanceador de carga, algumas das informações da solicitação original podem ser encaminhadas para o aplicativo nos cabeçalhos de solicitação. Essas informações geralmente incluem o esquema de solicitação segura (https), o host e o endereço IP do cliente. Os aplicativos não leem automaticamente esses cabeçalhos de solicitação para descobrir e usar as informações da solicitação original.

O esquema é usado na geração de link que afeta o fluxo de autenticação com provedores externos. Perder o esquema de seguro (https) resulta no aplicativo gerando URLs de redirecionamento inseguros incorretos.

Use Middleware de cabeçalhos encaminhados para disponibilizar as informações da solicitação original ao aplicativo para o processamento da solicitação.

Para obter mais informações, veja Configurar o ASP.NET Core para trabalhar com servidores proxy e balanceadores de carga.