如何以编程方式生成 Okta 访问令牌?

How to generate Okta access token programmatically?

在我的 Okta 租户中,我创建了一个 SPA,并且该身份验证部分工作正常。我的 API 是一个单独的,它是 spring 引导微服务。我已经将它与 spring boot Okta starter 集成。它也工作正常(身份验证和授权)。但是对于我的服务测试(集成测试),我需要生成访问令牌以用作身份验证令牌,以编程方式我仍然坚持。我能够使用以下 API、

生成会话令牌

https://dev-xxxx.okta.com/api/v1/authn

{ "username": "client@xx.com", "password": "xxxxxx", "options":{ "multiOptionalFactorEnroll":错误, "warnBeforePasswordExpired": 错误 } }

有人可以帮忙吗?

我建议您使用在 Okta 中配置的不同 OAuth 应用程序来使用资源所有者密码流程。您将用户名和密码传递给它,就像您在上面发布的身份验证 API 一样。

您还需要一个客户端 ID 和一个客户端密码,这就是为什么您需要在 Okta 中定义一个额外的应用程序——SPA 应用程序没有客户端密码。