首页 > 解决方案 > 使用 PKCE 流集成测试 Okta 应用程序

问题描述

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

我们希望能够创建一个集成测试来自动调用我们的一些 API,并在我们获得的令牌的声明中拥有适当的组。但是,我们不能同时启用 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 流的无头脚本获取用于测试应用程序的令牌的正确方法是什么?

标签: javascriptoauth-2.0oktapkce

解决方案


此处的教程最终完全按照我们的需要完成,而无需重新配置应用程序。

本质上,正确的方法是使用 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


推荐阅读