0

リンク短縮サービスを使用してユーザーの指標を追跡できるように、ビット単位で認証しようとしています。私の実装は次のようなものです:

passport.use(new BitlyStrategy({
    clientID: "my client id here",
    clientSecret: "my secret here",
    callbackURL: "http://website.com/auth/bitly/callback"
},
function (token, tokenSecret, profile, done) {
// Code to put it in the server here.
}
));

ルートは次のようになります。

app.get('/auth/bitly',
    passport.authenticate('bitly'));

app.get('/auth/bitly/callback',
passport.authenticate('bitly', { failureRedirect: '/', failureFlash: true, failureFlash: 'Invalid bitly Authentication try again.' }),
function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
});

これを機能させるために考えられることはすべて実行しましたが、常に次の愚かなエラーが発生します。

Application has thrown an uncaught exception and is terminated:
TypeError: Parameter 'url' must be a string, not undefined
at Object.urlParse [as parse] (url.js:92:11)
at [object Object]._request (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\node_modules\oauth\lib\oauth2.js:56:22)
at [object Object].get (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\node_modules\oauth\lib\oauth2.js:196:8)
at Strategy.userProfile (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\lib\passport-bitly\strategy.js:76:16)
at loadIt (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\lib\passport-oauth\strategies\oauth2.js:221:17)
at Strategy._loadUserProfile (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\lib\passport-oauth\strategies\oauth2.js:236:25)
at C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\lib\passport-oauth\strategies\oauth2.js:127:14
at C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\node_modules\oauth\lib\oauth2.js:178:7
at passBackControl (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\node_modules\oauth\lib\oauth2.js:107:9)
at IncomingMessage.<anonymous> (C:\DWASFiles\Sites\twitter-mongo\VirtualDirectory0\site\wwwroot\node_modules\passport-bitly\node_modules\passport-oauth\node_modules\oauth\lib\oauth2.js:124:7

それが何を意味するのか、どこから修正を開始すればよいのか、誰にもわかりますか?

4

3 に答える 3

4

バグを修正しpassport-bitly、プル リクエストを作成しました: https://github.com/dreadjr/passport-bitly/pull/1

@Bitly API: パスポートは、ノードの世界でアクセス トークンを取得するための一般的な方法であるため、この戦略が機能するのは良いことです。

于 2013-11-28T16:48:39.733 に答える
2

ここのパスポート ライブラリにはあまり詳しくありませんが、最近、node.js を含むいくつかの言語でいくつかの簡単な OAuth コード例を投稿しました: http://bit.ly/bitlyoauthexamples

于 2013-07-12T14:22:09.997 に答える