为了账号安全,请及时绑定邮箱和手机立即绑定

如何在ASP.NET Boilerplate中设置社交登录?

如何在ASP.NET Boilerplate中设置社交登录?

C#
12345678_0001 2021-04-08 18:19:37
我正在尝试通过Google对用户进行身份验证。我正在使用Vue的ASP.NET Core的ABP启动模板。我已经登记在谷歌外部认证AuthConfigurer.cs在Web.Host:if (bool.Parse(configuration["Authentication:Google:IsEnabled"])){    services.AddAuthentication().AddGoogle(googleOptions =>    {        googleOptions.ClientId = configuration["Authentication:Google:ClientId"];        googleOptions.ClientSecret = configuration["Authentication:Google:ClientSecret"];    });}我已将设置添加到Web.Host中的appsettings.json中,并在Secret Manager工具中创建了相应的机密(ClientId和ClientSecret)。我已通过强制将API转换为SSL RequireHttpsAttribute。我已经GoogleAuthProviderApi在[ProjectName] WebCoreModule.cs中注册了:public override void PreInitialize(){    Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(        MindbooksSEOConsts.ConnectionStringName    );    // Use database for language management    Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();    Configuration.Modules.AbpAspNetCore()            .CreateControllersForAppServices(                typeof(MindbooksSEOApplicationModule).GetAssembly()            );    ConfigureTokenAuth();    Configuration.Modules.Zero().UserManagement.ExternalAuthenticationSources.Add<GoogleAuthProviderApi>();}我不知道我在这里想念的东西,也不知道确切地期待着什么。我以为,对api / TokenAuth / GetExternalAuthenticationProviders端点的调用至少会给我一个包含Google的列表,但是此请求返回的结果中包含一个空数组。此外,对于OAuth提供程序(例如Google和Facebook),我对这种外部身份验证的范围还不太清楚。在我看来,您可以使用OAuth进行服务器端使用,在这种情况下,我不明白为什么您会通过API公开其中的一部分。或者您拥有适用于JavaScript的OAuth Web应用程序,在这种情况下,您不需要在自己的服务器上使用API端点,只需通过Web应用程序处理客户端的全部操作即可。那么,外部身份验证API端点的确切目的是什么?是这样使您自己的服务器充当身份验证的代理吗?这样您就可以同时在客户端和服务器端使用外部(Google)API?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信