创建oidc url一直显示需要我指定request_type

问题描述

使用官方python sdk,生成的oidc url使用时提示error: invalid_request
error_description: 必须传入 response_type 参数

重现步骤

以下是我的代码:
class OIDC(unittest.TestCase):

authentication_client = AuthenticationClient(options=AuthenticationClientOptions(

        app_id=os.getenv('app_id'),

        app_host=os.getenv('app_host'),

        secret=os.getenv('app_secret'),

        protocol=os.getenv('app_protocol'),

        redirect_uri=os.getenv('app_redirect'),

        token_endpoint_auth_method = 'client_secret_basic'

    ))



#generate authorize url

def test_oidc_build_authorize_url_pkce_plain(self):

    url = self.authentication_client.build_authorize_url(response_mode='form_post', scope='openid profile offline_access', response_type='code',)

    parsed_url = urlparse(url)

    queries = parse_qs(parsed_url.query)

    self.assertTrue(queries.get('nonce') is not None)

    self.assertTrue(queries.get('state') is not None)

    self.assertTrue(queries.get('scope') is not None)

    self.assertTrue(queries.get('client_id')[0] == os.getenv('app_id'))

    self.assertTrue(queries.get('redirect_uri')[0] == os.getenv('app_redirect'))

    self.assertTrue(queries.get('response_type')[0] == 'code')

    self.assertTrue(queries.get('response_mode')[0] == 'form_post')

    self.assertTrue(queries.get('prompt')[0] == 'consent')

    if url:

        return (False, {"url": url})

附加信息

  • Version:
    官方doc里面的authing python版本,python是3.11
  • Platform:
    windows