Как добавить параметры запроса в token_endpoint в URL-адресе обнаружения OIDC - PullRequest
0 голосов
/ 19 марта 2019

Я использую passport-azure-ad для аутентификации (стратегия OIDC).

authorization_endpoint и token_endpoint и т. Д. Получены через конечную точку обнаружения. passport-azure-ad вызывает эту конечную точку после инициализации и сохраняет конфигурацию. Он также вызывает эту конечную точку всякий раз, когда запускается passport.authenticate(...) (сложно сказать, как именно он работает внутри).

После получения кода авторизации мне нужно обменять его на токен. Но похоже, что passport.authenticate('oidc', {...}) внутренне вызывает token_endpoint с полезной нагрузкой {code: 'XXXXX', состояние: 'XXXX'} для обмена.

Могу ли я изменить URL для этого вызова API обмена токенами? Мне нужно добавить несколько параметров запроса и изменить заголовок запроса. Мне нужно выглядеть так:

{token_endpoint}?redirect_uri=xxxx&grant_type=authorization_code&code=xxxxx

request headers need to look like: {...., authorization: Basic Base64Encoded(clientId: clientSecret), ...}

Я не могу изменить token_endpoint в ответе, возвращаемом конечной точкой обнаружения, поскольку я не являюсь владельцем конечной точки обнаружения.

Мне нужно изменить запрос на обмен токена, сделанный внутренне по паспорту (я полагаю). Как мне получить доступ к этим запросам?

...