【发布时间】: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