我在我的应用程序中使用okta-sdk-java
来实现基于okta
的登录身份验证。我可以使用在Okta developer console
中创建的用户成功登录该应用。但是在尝试通过代码为我的okta应用程序组创建新用户时,我收到API验证失败错误
我已经尝试过,我在Okta developer console
中创建了一个新令牌。我已经复制了创建的超级API令牌,并在如下所示的应用程序中使用了它]
是应该在“ my-group”组下创建新用户,但出现以下错误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; }
[预期结果
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开发人员控制台中创建的用户成功登录该应用程序。但是在尝试...
有多个原因导致错误代码为E0000001 API validation failed
的错误。