我正在使用带有AuthorizationCode流的OIDC登录,并且一切正常,除了必须在重定向URI中传递一些参数。
OIDC身份验证令牌(代码,状态)在POST中传递。
在重定向URI的查询字符串中,我传递了一些url编码的参数,例如:
https://test.auth0.com/authorize?response_type=code&
nonce=...&
state=...&
code_challenge=...&
code_challenge_method=S256&
client_id=...&
scope=openid%20profile%20email%20api&
response_mode=form_post&
redirect_uri=http%3a%2f%2flocalhost%3a60000%2fDefault.aspx%3fAppToOpen%3dA01
正确地叫我回去:
http://localhost:60000/Default.aspx?AppToOpen=A01
传递一个参数很好,但是当我发送多个参数时:
https://test.auth0.com/authorize?response_type=code&
nonce=...&
state=...&
code_challenge=...&
code_challenge_method=S256&
client_id=...&
scope=openid%20profile%20email%20api&
response_mode=form_post&
redirect_uri=http%3a%2f%2flocalhost%3a60000%2fDefault.aspx%3fAppToOpen%3dA01%26BodCode%3DSO_2
它重定向到此URL:
http://localhost:60000/Default.aspx?AppToOpen=A01&BodCode=SO_2
如您所见,%26
已正确解码为&
,但随后已编码为&
。
如何避免重新编码?
或者,是否可以在POST中传递一些参数?