Nexmo 2FA不起作用/被错误,依赖项不包括接收代码和验证代码所需的一些方法



在https://dashboard.nexmo.com/getting-started/verify上展示的教程说,一切都应该通过编码来工作:

1   NexmoClient client = NexmoClient.Builder()
2     .apiKey("HIDDEN-CODE-I-CANNOT-SHOW")
3     .apiSecret("HIDDEN-CODE-I-CANNOT-SHOW")
4     .build();
5   VerifyClient verifyClient = client.getVerifyClient();
6
7   VerifyRequest request = new VerifyRequest("HIDDEN-CODE-I-CANNOT-SHOW", "HIDDEN-CODE-I-CANNOT-SHOW");
8   request.setLength(4);
9   
10   VerifyResponse response = verifyClient.verify(request);
11
12   if (response.getStatus() == VerifyStatus.OK) {
13       System.out.printf("RequestID: %s", response.getRequestId());
14   } else {
15       System.out.printf("ERROR! %s: %s",
16         response.getStatus(),
17         response.getErrorText()
18       );
19   }

我的问题/bug是下一个:

request.SETLENGHT(4);
response.GETSTATUS();

这两行代码(8-12)是红色的(只有大写字母的字符)。如果我把光标放在它们上面,它会显示一条消息">无法解析符号'setLength'";and无法解析符号"getStatus">";分别。

我以为有人和我有同样的问题,但事实并非如此。我已经进入了nexmo库开发人员的存储库,并且这两个函数都写在那里(我试图说它们存在),但在我的程序中它们并没有建立。

这些是开发人员的存储库:

  1. https://github.com/Nexmo/nexmo-java
  2. https://github.com/Nexmo/nexmo-java/blob/master/src/main/java/com/nexmo/client/verify/VerifyRequest.java
  3. https://github.com/vonage/vonage-java-sdk

在第一个他们说,我引用"我们建议用户开始迁移到Vonage Java Server SDK。如果您有任何问题,请通过devrel@vonage.com或通过我们的社区Slack https://developer.nexmo.com/community/slack&quot与我们联系;正如他们所说,我确实尝试迁移到项目的新版本,但那两行的问题也保留在那里。

第二个链接显示了为nexmo库编写的一些函数。从第315行到第323行,可以看到函数"。setlength "确实存在,因为开发人员为它创建了一个构建器,下面是从该链接复制和粘贴的代码:

/**
* @param length (optional) The length of the verification code to be sent to the user. Must be either 4 or 6. Use
*               -1 to use the default value.
* @return {@link Builder}
*/
public Builder length(Integer length) {
this.length = length;
return this;
}

有什么问题吗?库吗?兼容性?我正在使用Apache Maven 3.6.3。这是我的诗:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.2FA</groupId>
<artifactId>Auth-Two-Steps</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Auth-Two-Steps</name>
<description>Mini project to learn authentication</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.nexmo</groupId>
<artifactId>client</artifactId>
<version>5.6.0</version>
</dependency>


<dependency>
<groupId>com.2FA</groupId>
<artifactId>Auth-Two-Steps</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

这些代码片段将在nexmo 4上工作。但在5. x SDK上将失败。6. x Nexmo SDK;x Vonage SDK,需要更新。请参阅代码片段-它将向您展示如何管理所有内容。当将构建器模式添加到Verify Request时,setLength看起来像是被删除了,您应该使用构建器模式来代替

VerifyRequest request = VerifyRequest.builder("12018675309","acme").length(6).build();

getStatus()看起来应该工作-如果你继续有问题,你可能要确保它被导入。

相关内容

  • 没有找到相关文章

最新更新