使用 PKCE 流程集成测试 Okta 应用程序

Integration testing Okta app with PKCE flow

我们有一个使用 Okta 作为 IDP 的应用程序。我们在应用程序中启用了 PKCE 流程,因为这是我们 SPA 的推荐流程

我们希望能够创建一个集成测试来自动调用我们的一些 APIs 并在我们获得的令牌中的声明中包含适当的组。但是,我们无法同时启用 PKCE 和 client_credentials 授权类型。当我们通过 API.

添加它们时,我们收到有关无效授权类型的错误

我们得到的错误是:

        {
            "errorSummary": "token_endpoint_auth_method: 'token_endpoint_auth_method' is invalid. Valid values: [client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt]."
        },
        {
            "errorSummary": "grant_types: 'grant_types' is invalid. Valid values: [implicit]."
        }

通过使用 PKCE 流程的无头脚本获取用于测试应用程序的令牌的正确方法是什么?

此处的教程最终完全满足了我们的需求,而无需重新配置应用程序。

基本上正确的方法是使用 PKCE 流程使用用户凭据获取代码,然后将该代码交换为令牌。

https://support.okta.com/help/s/article/How-to-get-tokens-for-an-OIDC-application-without-a-browser-using-curl-Postman?language=en_US