我正在使用passport-azure-ad
进行身份验证(OIDC策略)。
authorization_endpoint
和token_endpoint
等是通过发现端点获得的。 passport-azure-ad
在初始化时调用此端点并存储配置。每当运行passport.authenticate(...)
时,它也会调用此端点(很难确切说明其内部工作方式)。
收到授权码后,我需要将其交换为令牌。
但是似乎passport.authenticate('oidc', {...})
内部调用token_endpoint
,其有效载荷为{code:'XXXXX',状态:'XXXX'}以进行交换。
我可以修改此令牌交换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
。
我需要修改内部通过护照提出的令牌交换请求(我认为)。如何访问这些请求?