问题描述
使用官方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