【问题标题】:Google authentication with C# ASP.NET Core Web API使用 C# ASP.NET Core Web API 进行谷歌身份验证
【发布时间】:2022-11-21 07:53:20
【问题描述】:

问题:如何使用 ASP.NET Core 后端 API 通过谷歌身份验证注册或登录用户?

我有一个带有 react.js 的前端并且工作正常但我不知道如何处理我的后端服务器。在我看来,Google 文档很难理解。在网上我找不到与我的情况类似的例子。我只能找到使用 ASP.NET Core MVC 标识的示例,但这不是我的情况。

const res = await fetch('/api/user/google-login', {
   method: 'POST',
   body: JSON.stringify({
       token: response.credential,
   }),
   headers: {
      'Content-Type': 'application/json',
   },
});

我的前端将凭据发送到我的后端服务器,但之后我不知道该怎么做。

有人有这种情况的例子或者有人知道可以做什么吗?

[HttpPost]
[Route("/google-login")]
public async Task<IActionResult> GoogleLogin([FromHeader] string token)
{
    // what to do here..?
}

【问题讨论】:

  • “我只能找到使用 ASP.NET Core MVC 标识的示例,但这不是我的情况。”你能解释一下你的情况?您不使用 aspnet 身份吗?
  • @galdin 目前我不使用身份,因为我只想使用外部身份验证服务,比如谷歌。
  • 您是否考虑过让您的后端处理登录?登录的工作方式是验证用户是登录者。如果您想将前端登录发送到后端,那么它不是登录用户。
  • @DaImTo 用户通过谷歌登录,用户登录后,前端获得一个凭证(jwt)。但是后端必须将externalId保存到数据库中。

标签: c# rest asp.net-core asp.net-core-webapi google-signin


【解决方案1】:

你找到任何解决方案了吗?我有同样的问题

【讨论】:

    猜你喜欢
    • 2022-01-27
    • 1970-01-01
    • 2016-12-22
    • 2023-03-13
    • 2018-03-19
    • 2015-01-12
    • 2018-08-09
    • 2023-03-05
    • 2013-11-16
    相关资源
    最近更新 更多