我尝试自定义oauth2orize all-grants example供我使用。我可以按原样运行全部授权,一切正常(正如您所期望的那样),但是当我运行自定义版本时,我总是会遇到这个错误:
Error: Unable to issue redirect for OAuth 2.0 transaction
at Object.response [as handle] (C:\Dev\Expy\api\node_modules\oauth2orize\lib\grant\code.js:122:41)
我一直在深入研究这一点,似乎在function内有一个txn变量的属性应该命名为redirectURI,并且应该使用来自查询字符串的redirect_uri填充。对/ dialog / authorize页面的初始请求。由于某种原因,这不会发生在我的示例应用上。这是由快速版本差异引起的吗?这是我在示例代码和我的自定义之间看到的最大区别。全额赠款使用快递2. *,我的应用程序将使用快递4。*。
如果它不是快速版本问题,我应该从哪里开始查看我的代码中的问题?
作为参考,这是我在我的应用程序中看到的txn对象:
txn: {
"transactionID": "evlUd2q4",
"client": { ... },
"req": {
"type": "code",
"clientID": "5C3B4438-433F-11E5-A532-74653C701F13"
},
"user": { ... },
"res": {
"allow": true
}
}
这就是我在同一个对象中看到的例子(请注意req和txn本身中redirectURI的存在):
txn: {
"transactionID": "EEcYp3Uj",
"client": { ... },
"redirectURI": "http://localhost:3000/api/userinfo",
"req": {
"type": "code",
"clientID": "abc123",
"redirectURI": "http://localhost:3000/api/userinfo"
},
"user": { ... },
"res": {
"allow": true
}
}