0

我一直在关注建议的服务器示例。我的大部分代码都可以正常工作,但由于某种原因,我遇到了一个问题,即 ClientID 是 UserID,导致身份验证代码无法验证。我很难找到客户端变量在库中的设置位置,因为它有点超出我的理解。以下是验证 ClientID 是否等效的代码段:

server.exchange(oauth2orize.exchange.code((client, code, redirectUri, done) => {
  db.authorizationCodes.find(code, (error, authCode) => {
    if (error) return done(error);
    if (client.id !== authCode.clientId) return done(null, false);
    if (redirectUri !== authCode.redirectUri) return done(null, false);

    issueTokens(authCode.userId, client.clientId, done);
  });
}));

这是来自oauth2.js 中的第 ~89 行。在此段中,UserID 存储在 ClientID 中。数据库是正确的,所以我的假设是其中一个数据库函数被不正确地覆盖,导致它查询用户而不是客户端。

如果有人对设置客户端变量的位置有任何建议,这将使我免于将头撞在桌子上!谢谢!

4

0 回答 0