1

私の使用のために oauth2orize all-grants の例をカスタマイズしようとしています。all-grants をそのまま実行でき、すべてが (ご想像のとおり) 動作しますが、カスタマイズしたバージョンを実行すると、常に次のエラーが発生します。

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)

私はこれを少し掘り下げてきましたが、その関数内に txn 変数のプロパティがあり、 redirectURI という名前にする必要があり、最初のリクエストのクエリ文字列から /dialog/authorize ページへの redirect_uri を入力する必要があります. 何らかの理由で、これは私のサンプルアプリでは起こりません。これは、エクスプレス バージョンの違いが原因ですか? これが、サンプル コードと私のカスタマイズの最大の違いです。all-grants は express 2.* を使用し、私のアプリは express 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
    }
}
4

0 に答える 0