在Okta中创建新用户时,面对API验证失败错误

问题描述 投票:0回答:1

我在我的应用程序中使用okta-sdk-java来实现基于okta的登录身份验证。我可以使用在Okta developer console中创建的用户成功登录该应用。但是在尝试通过代码为我的okta应用程序组创建新用户时,我收到API验证失败错误

如Git枢纽文章所述,

我已经尝试过,我在Okta developer console中创建了一个新令牌。我已经复制了创建的超级API令牌,并在如下所示的应用程序中使用了它]

private String oktaBaseUri;
private String oktaDomain;
private AuthenticationClient oktaAuthClient;
private String relayState;
private Client oktaClient;
private String apiToken;

@PostConstruct
private void init() {
        oktaBaseUri = System.getProperty("okta.base.uri", "http://localhost:8080");
        oktaDomain = System.getProperty("okta.domain", "https://XXXXXXXXXXXXXXXXXXXX.com");
        relayState = System.getProperty("relay.state", "/app.menu/");
        apiToken = System.getProperty("okta.api.token", "00XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXeg");
        buildOktaClient();
}

private void buildOktaClient() {
        oktaAuthClient = AuthenticationClients.builder().setOrgUrl(oktaDomain).build();
        oktaClient = Clients.builder().setClientCredentials(new TokenClientCredentials(apiToken)).setOrgUrl(oktaDomain).build();
}

public User createOktaUser(ObjectVO objectVO) {
        User user = null;
        UserBuilder userBuilder = UserBuilder.instance().setEmail(objectVO.getUpn()).setFirstName(objectVO.getFirstNm()).setLastName(objectVO.getLastNm()).setPassword(objectVO.getPassword().toCharArray());
        userBuilder.setActive(true);
        user = userBuilder.buildAndCreate(oktaClient);
        user.addToGroup("my-group");
        return user;
}

[预期结果

是应该在“ my-group”组下创建新用户,但出现以下错误
Caused by: com.okta.sdk.resource.ResourceException: HTTP 400, Okta E0000001 (Api validation failed: login - '3 causes'), ErrorId oaevTzn-FnlTVGpgmb32W9K4A
        at com.okta.sdk.impl.ds.DefaultDataStore.execute(DefaultDataStore.java:453)
        at com.okta.sdk.impl.ds.DefaultDataStore.lambda$save$1(DefaultDataStore.java:314)
        at com.okta.sdk.impl.ds.DefaultFilterChain.filter(DefaultFilterChain.java:47)
        at com.okta.sdk.impl.ds.cache.WriteCacheFilter.filter(WriteCacheFilter.java:34)
        at com.okta.sdk.impl.ds.DefaultFilterChain.filter(DefaultFilterChain.java:52)

我在我的应用程序中使用okta-sdk-java来实现基于okta的登录身份验证。我可以用Okta开发人员控制台中创建的用户成功登录该应用程序。但是在尝试...

java okta okta-api
1个回答
0
投票

有多个原因导致错误代码为E0000001 API validation failed的错误。

© www.soinside.com 2019 - 2024. All rights reserved.