Amazon cognito来自java的未经认证的流



我试图从java代码中获得未经授权的认知令牌。下面是代码:

import com.amazonaws.services.cognitoidentity.AmazonCognitoIdentity;
import com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClientBuilder;
import com.amazonaws.services.cognitoidentity.model.GetCredentialsForIdentityRequest;
import com.amazonaws.services.cognitoidentity.model.GetIdRequest;
import com.amazonaws.services.cognitoidentity.model.GetIdResult;
import com.amazonaws.services.cognitoidentity.model.GetOpenIdTokenRequest;
public class unAuthorizedToken {
   public static void main(String args[]){
     AmazonCognitoIdentity identity =  AmazonCognitoIdentityClientBuilder.standard().withRegion("us-east-1").build();
    GetIdResult getId = identity.getId(new GetIdRequest().withIdentityPoolId("us-east-1:8xxxxxx-xxxx-xxxx-bxxx-5xxxxxxxxxxx"));
  //// obtain identity id and token to return to your client
    String identityId = getId.getIdentityId();
    System.out.println("IdentityId =" + identityId);
    GetOpenIdTokenRequest req = new GetOpenIdTokenRequest().withIdentityId(identityId);
    String token = identity.getOpenIdToken(req).getToken();
    System.out.println("Token =" + token);
}
}

未经身份验证的认知令牌流正在与javascript一起工作。但是使用Java,我正在获得identityId,但同时获得令牌,它要求我在这一行使用增强的流程:字符串令牌= identity.getOpenIdToken(req).getToken();异常:线程"main"未启用基本(经典)流程,请使用增强的流程。(服务:AmazonCognitoIdentity;状态码:400;错误代码:InvalidParameterException;请求ID: 78a20c92-c0b0-4393-b972-8fa69765d7c1;代理:零)什么是增强心流?这是否意味着不允许从java进行未经身份验证的访问?请帮我调试一下这段代码。

还想了解:com. amazon.com .services之间的区别是什么。*和software.amazon.awssdk。*库?

好的。根据这个链接:https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html不需要tokenid。我们可以传递身份验证的id

最新更新