当前位置: 首页 > 知识库问答 >
问题:

我可以以编程方式创建AWS Cognito用户登录吗?

孟泽宇
2023-03-14

我希望我的应用程序允许拥有Facebook,Google,Amazon等帐户的用户能够登录到我的应用程序。这通过AWS Cognito运行良好。

但是,如果用户没有任何登录,应用程序是否可以通过编程方式创建用户登录?

>

我不需要实现自己的身份验证机制,也不用担心密码是如何存储的。

根据我的研究,我认为现有的身份验证提供商甚至其他服务(如OpenID)都无法做到这一点。

如果我不想实现自己的登录存储和身份验证,您还有其他选择吗?它不一定需要与AWS Cognito集成。

共有2个答案

公孙河
2023-03-14

您好,我以前在实施社交媒体身份验证方面的经验。我的结论是这很难实现。如果您不知道在iOS中显示什么web视图来验证用户身份,您需要使用iOSACAccountStore类来实现这一点,但即使这样,也只提供了登录而不登录的机会。

陆子航
2023-03-14

我被你的问题弄糊涂了。如果你问:

我可以在Facebook/Google上创建新的用户名和密码吗?

那么答案是否定的。你必须在他们的网站上注册脸书/谷歌。如果你问:

我可以创建一个用户名和密码只存在于Cognito的新用户吗?

那么答案是肯定的。为此,这取决于您是在浏览器中还是在服务器上创建用户。在浏览器中,使用Cognito Javascript API。在服务器上,使用Cognito Admin Server API。

下面是一些示例代码,用于在Node JS中的服务器上创建新用户(将我的字符串替换为您自己的令牌,尤其是其中带有@符号的令牌):

  let params = {
    UserPoolId: "@cognito_pool_id@",
    Username: "jhancock",
    DesiredDeliveryMediums: ["EMAIL"],
    ForceAliasCreation: false,
    MessageAction: "SUPPRESS",
    TemporaryPassword: "somePassword",
    UserAttributes: [
      { Name: "given_name", Value: "John"},
      { Name: "family_name", Value: "Hancock"},
      { Name: "name", Value: "John Hancock"},
      { Name: "email", Value: "john@gmail.com"},
      { Name: "phone_number", Value: "+15125551212"}
    ],
  };
  console.log("Sending params to cognito: " + JSON.stringify(params));
  let cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider({region: "us-east-1"});
  cognitoIdentityServiceProvider.adminCreateUser(params, function(error, data) {
    if (error) {
      console.log("Error adding user to cognito: " + JSON.stringify(error), error.stack);
    } else {
      console.log("Received back from cognito: " + JSON.stringify(data));
    }
 }

一旦你开始工作,你可能会想看这篇关于如何将临时密码更改为真实密码的文章。

 类似资料:
  • 我正在创建一个使用Spring security进行身份验证的Spring MVC web应用程序。 谢谢!

  • 问题内容: 有人知道是否可以通过Java中的Google api以编程方式创建Google帐户。 问题答案: (ish) 借助Admin SDK Directory API,您可以创建可与Google工具(Gmail,日历等)一起使用的帐户,但不能使用@ gmail.com / @ googlemail.com帐户。 当新用户添加到网络和类似情况时,公司可以使用它自动为在线Google工具创建帐户

  • 问题内容: 相反:如何使用Spring Security手动注销用户? 在我的应用程序中,我 注册了一个新用户屏幕 ,该 屏幕 发布到一个控制器中,该控制器在db中创建一个新用户(并进行了一些明显的检查)。然后我希望这个新用户自动登录…我有点想要某种东西像这样 : 编辑 好吧,我几乎已经基于如何使用Spring Security3.1以编程方式登录用户的答案实现了 但是,部署后,jsp无法访问my

  • 问题内容: 我想在注册过程结束后立即登录用户,而无需通过登录表单。 这可能吗 ?我已经找到了的解决方案,但是我没有在我实际从事的项目中使用它。 这是我的security.yml,我正在使用两个防火墙。纯文本编码器仅用于测试。 问题答案: 是的,您可以通过类似于以下内容的方式执行此操作: 当您在上下文中设置令牌时,最后不会自动触发事件,而通常在使用登录表单或类似方法时触发。因此,将其包含在此处的原因

  • 问题内容: 我一直在尝试以编程方式重做我的应用程序上的工作。(不使用情节提要) 除了手动制作导航控制器外,我几乎完成了。 我一直在做一些研究,但找不到任何手动实现此方法的文档。(我开始将应用程序制作为单视图应用程序) 目前,我只有1个ViewController。当然是appDelegate 导航控制器将在应用程序的所有页面中使用。 如果有人可以帮助我,或发送指向一些适当文档的链接以编程方式进行此

  • 我使用的是JDeveloper 11g。我想在jazn数据中以编程方式创建一个新用户。xml”。这可能吗?我该怎么做?