使用AWS Amplify&Cognito单元测试和身份提供商的无密码电话号码身份验证

问题描述

我正在构建一个应用程序并且需要

  1. 无密码电话号码验证
  2. Facebook登录

我能够使用带有触发器的自定义身份验证来进行第一个操作,如下所示: https://techinscribed.com/passwordless-phone-number-authentication-using-aws-amplify-cognito/

现在我的问题是如何在没有实际收到短信的情况下对其进行测试

尝试了这个:

await Auth.signUp({
  username: phone,password: Date.Now().toString(),});
console.log(`[${username}] - user is created`);

let req = {
  AuthFlow: "CUSTOM_AUTH",UserPoolId: userpoolId,ClientId: clientId,AuthParameters: {
    USERNAME: phone,PASSWORD: password,},};
let resp = await cognito.adminInitiateAuth(req).promise();

console.log(`[${username}] - initialised auth flow`);

let challengeReq = {
  UserPoolId: userpoolId,ChallengeName: resp.ChallengeName,Session: resp.Session,ChallengeResponses: {
    USERNAME: resp.ChallengeParameters.USERNAME,ANSWER: "1234",};
let challengeResp = await cognito
  .adminRespondToAuthChallenge(challengeReq)
  .promise();
console.log(`[${username}] - responded to auth challenge`);

return {
  username,phone,password,idToken: challengeResp.AuthenticationResult.IdToken,};

但是它没有用.. 我的facebook登录也停止了工作,但是我不知道是否相关。

非常感谢您能为我指明正确的方向。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)