如何在C#中使用Google OAuth2访问令牌在AWS Cognito中验证用户?

huangapple go评论61阅读模式
英文:

How can I authenticate a user with in AWS Cognito with google oauth2 access token in c#

问题

我正在尝试弄清楚如何将Google身份验证(Google身份服务)添加到我的Web应用,目前正在使用AWS Cognito。我的前端使用Vue,后端使用.NET。

在Vue中,我已经做了以下工作:

  1. 添加了一个按钮,以便用户可以登录,这会给我一个身份验证代码
  2. 将代码发送到我的API进行身份验证

在我的.NET API中:

  1. 使用GoogleAuthorizationCodeFlow.ExchangeCodeForTokenAsync(...)从代码获取令牌
  2. 解析令牌以获取用户详细信息
  3. ... 如果具有此电子邮件的用户存在,则登录用户到我的Cognito用户池,如果用户不存在,则创建新帐户

我找不到如何执行此操作的任何示例。有任何想法,还是我需要重新考虑一些东西?

我尝试使用AdminInitiateAuthRequest进行不同的调用,但不确定这是否是正确的方法。

英文:

I am trying to figure out how I can add Google Authentication (Google Identity Services) to my web app currently using AWS Cognito. My frontend is in Vue and backend in .NET.

What I got so far is in Vue:

  1. Button so the user can sign in, which gives me an Auth Code
  2. Post the code to my API for authentication

In my .NET API

  1. get a token from the code using GoogleAuthorizationCodeFlow.ExchangeCodeForTokenAsync(...)
  2. parsing the token to get the user details
  3. ... sign in the user to my Cognito User Pool if a user with this email exists or create new account if user does not exist

I cannot find any examples how to do this. Any ideas or should I rethink something here?

I tried different calls using AdminInitiateAuthRequest, but not sure this is the correct way to do it.

答案1

得分: 1

请查看 AWS 官方代码库文档中的 使用 AWS SDK 的 Amazon Cognito 身份提供程序的代码示例 部分。

这个示例(与您的用例最接近的一个)展示了以下任务作为 .NET 示例的一部分:

  • 使用用户名、密码和电子邮件地址注册用户。

  • 通过电子邮件中发送的代码确认用户。

  • 通过将 MFA 应用程序与用户关联来设置多因素身份验证。

  • 使用密码和 MFA 代码登录。

使用 AWS SDK 注册需要 MFA 的 Amazon Cognito 用户池中的用户

英文:

Look in the AWS Offical Code Lib Doc under the Code examples for Amazon Cognito Identity Provider using AWS SDKs section.

This example (the closest one to your use case) shows these tasks as part of the .NET Example:

  • Sign up a user with a user name, password, and email address.

  • Confirm the user from a code sent in email.

  • Set up multi-factor authentication by associating an MFA application
    with the user.

  • Sign in by using a password and an MFA code.

Sign up a user with an Amazon Cognito user pool that requires MFA using an AWS SDK

huangapple
  • 本文由 发表于 2023年2月7日 02:35:46
  • 转载请务必保留本文链接:https://go.coder-hub.com/75365297.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定