快递.js OAuth:"invalid_request: The `redirect_uri` parameter does not match a valid url for the applic



我正在使用passport-asana向OAuth服务器(在asana.com上(传递一些凭据

我进入范围授予页面,然后登录到该服务。

但在回调步骤中,我在浏览器窗口中看到了以下内容:

/*
invalid_request: The `redirect_uri` parameter does not match a valid url for the application.
*/

以下是我如何传递OAuth凭据,以及初始和回调OAuth步骤的路由处理程序:

const callbackURL: string = `${process.env.DOMAIN}/oauth/callback`;
const asanaStrategy = new AsanaStrategy({
clientID: process.env.ASANA_CLIENT_ID,
clientSecret: process.env.ASANA_CLIENT_SECRET,
callbackURL,
}, (asanaAccessToken: any, asanaRefreshToken: any, asanaProfile: any, doneCallback: Function) => {
findAndPassUserToSerializer(asanaProfile.id, doneCallback);
});
passport.use(asanaStrategy);

// router file, exporting passport object above
router.get(
'/oauth',
passportWithAsanaStrategy.authenticate('Asana'),
(req: Request, res: Response) => { /* IGNORED */ },
);
router.get(
'/oauth/callback',
passportWithAsanaStrategy.authenticate('Asana', { failureRedirect: '/login' },
(req: Request, res: Response) => {
// Successful authentication, redirect home.
res.redirect('/');
}),
);

也尝试过

encodeURI:编码第一行

const callbackURL: string = encodeURI(`${process.env.DOMAIN}/oauth/callback`);

错误是相同的。

关于如何解决这个问题,还有其他想法吗?

此错误表明传递的重定向URL与应用程序设置中注册的URL不匹配。

我建议导航到Asana的开发人员控制台,比较注册的重定向URL,以确认它们与${process.env.DOMAIN}/oauth/callback的最终值匹配。

关于请求参数的文档:https://developers.asana.com/docs/oauth#user-授权端点

相关内容

最新更新