社交/外部登录

帐户模块已配置为开箱即用的处理社交或外部登录. 你可以按照ASP.NET Core文档向你的应用程序添加社交/外部登录提供程序.

示例: Facebook 认证

按照ASP.NET Core Facebook集成文档向你应用程序添加Facebook登录.

添加NuGet包

添加[Microsoft.AspNetCore.Authentication.Facebook]包到你的项目. 基于你的架构,可能是 .Web,.IdentityServer(对于分层启动)或 .Host 项目.

配置提供程序

在你模块的 ConfigureServices 方法中使用 .AddFacebook(...) 扩展方法来配置客户端:

  1. context.Services.AddAuthentication()
  2. .AddFacebook(facebook =>
  3. {
  4. facebook.AppId = "...";
  5. facebook.AppSecret = "...";
  6. facebook.Scope.Add("email");
  7. facebook.Scope.Add("public_profile");
  8. });

最佳实践是使用 appsettings.json 或ASP.NET Core用户机密系统来存储你的凭据,而不是像这样硬编码值. 请参阅微软文档了解如何使用用户机密.

Angular UI

从v3.1开始,Angular UI使用授权码流程(作为最佳实践)通过重定向到MVC UI登录页面来对用户进行身份验证. 因此,即使你使用的是Angular UI,社交/外部登录集成也与上面说明的相同.并且可以开箱即用.