Передача некоторых параметров в UID перенаправления OIDC - PullRequest
0 голосов
/ 14 марта 2019

Я использую вход в систему OIDC с потоком AuthorizationCode, и все работает нормально, за исключением того, что я должен передать некоторые параметры в 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...