我正在尝试通过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
提交
取消