<div dir="ltr">Hi, I'm trying to implement OAuth 2.0 Authorization Code Flow with PKCE in my PyQt application and am having trouble making use of <font face="monospace">QAbstractOAuth::modifyParametersFunction</font> in my <font face="monospace">QOAuth2AuthorizationCodeFlow</font> subclass. <div><br></div><div><font face="monospace">>>> print(self.modifyParametersFunction)</font></div><div><font face="monospace"><built-in method modifyParametersFunction of CognitoOAuthFlow object at 0x7f8ea0162b80></font><br></div><div><br></div><div><font face="monospace">>>> print(self.modifyParametersFunction())</font></div><div><font face="monospace">SystemError: <built-in method modifyParametersFunction of CognitoOAuthFlow object at 0x7f8ea0162b80> returned NULL without setting an error</font><br></div><div><br></div><div>This isn't <i>too</i> surprising as this function pointer should be set to <font face="monospace">NULL</font> within Qt until <font face="monospace">QAbstractOAuth::setModifyParametersFunction</font> is called, but I would expect it to have a more elegant PyQt return value (such as a Python None), or to throw a more descriptive error. </div><div><br></div><div>However, and this is causing my issues, I can't figure out how to actually use <font face="monospace">QAbstractOAuth::setModifyParametersFunction </font><font face="arial, sans-serif">properly.</font></div><div><br></div><div><font face="monospace">>>> def modifyParamsFunction(stage: QAbstractOAuth.Stage, parameters: dict):</font></div><font face="monospace">...     if stage is QAbstractOAuth.RequestingAuthorization:<br>...         parameters["identity_provider"] = "COGNITO"<br>...         parameters["code_challenge_method"] = "S256"</font><div><font face="monospace">...         ...  # other stuff</font></div><div><font face="monospace">>>> class CognitoOAuthFlow(QOAuth2AuthorizationCodeFlow):</font></div><div><font face="monospace">...     def __init__(*args, **kwargs):</font></div><div><font face="monospace">...         ...</font></div><div><font face="monospace">...         self.setModifyParametersFunction(modifyParamsFunction)</font></div><div><br></div><div>When I try using <font face="monospace">CognitoOAuthFlow.grant()</font> (after setting up my URLs/scopes/identifiers/etc.), I get a segfault.</div><div><br></div><div><font face="monospace">Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)<br></font></div><div><br></div><div>Is there something I'm missing here? If necessary, I can try to provide a more complete example, but it might require me to include information about our authorization flow.</div><div><br></div><div>Thanks,</div><div>Bryce</div><div><div><br></div><div><br></div></div></div>