OAuth 2.0 API を使用して Microsoft アカウント (別名 Windows Live) で認証するためのパスポート戦略。
このモジュールを使用すると、Node.js アプリケーションで Windows Live を使用して認証できるようになります。 Passport にプラグインすることで、Windows Live 認証を、Express などの Connect スタイルのミドルウェアをサポートするアプリケーションやフレームワークに簡単かつ目立たないように統合できます。
$ npm install passport-windowslive
passport-windowslive
を使用する前に、Microsoft にアプリケーションを登録する必要があります。 まだ作成していない場合は、Live Connect アプリ管理で新しいアプリケーションを作成できます。アプリケーションにはクライアント ID とクライアント シークレットが発行されます。これらは戦略に提供する必要があります。 アプリケーション内のルートと一致するリダイレクト URL を構成する必要もあります。
Windows Live 認証戦略では、Windows Live アカウントと OAuth 2.0 トークンを使用してユーザーを認証します。 アプリケーションの作成時に取得したクライアント ID とシークレットは、ストラテジーの作成時にオプションとして指定されます。 この戦略には、認証されたユーザーの Windows Live プロファイルを含むprofile
だけでなく、アクセス トークンとオプションの更新トークンを受け取るverify
コールバックも必要です。 verify
コールバックは、認証を完了するためにユーザーに提供するcb
呼び出す必要があります。
passport.use(new WindowsLiveStrategy({ clientID: WINDOWS_LIVE_CLIENT_ID, clientSecret: WINDOWS_LIVE_CLIENT_SECRET, callbackURL: "http://www.example.com/auth/windowslive/callback" }, function(accessToken, refreshToken, profile, cb) { User.findOrCreate({ windowsliveId: profile.id }, function (err, user) { return cb(err, user); }); } ));
要求を認証するには、 'windowslive'
戦略を指定してpassport.authenticate()
を使用します。
たとえば、Express アプリケーションのルート ミドルウェアとしては次のようになります。
app.get('/auth/windowslive', passport.authenticate('windowslive', { scope: ['wl.signin', 'wl.basic'] })); app.get('/auth/windowslive/callback', passport.authenticate('windowslive', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); });
人気のある Express Web フレームワークを使用する開発者は、独自の Web アプリケーションの開始点として例を参照できます。 この例では、Facebook を使用してユーザーを認証する方法を示します。 ただし、Facebook と Windows Live はどちらも OAuth 2.0 を使用しているため、コードは似ています。 Facebook への参照を、対応する Windows Live への参照に置き換えるだけです。
スコープと権限で詳しく説明されているように、認証リクエストにはwl.offline_access
が含まれている必要があります。
パスポート.authenticate('windowslive', { スコープ: [ 'wl.offline_access' ] })
テスト スイートはtest/
ディレクトリにあります。 すべての新機能には、対応するテスト ケースがあることが期待されます。 以下を実行して、完全なテスト スイートが合格することを確認します。
$ テストを作成する
すべての新機能開発にはテスト カバレッジが含まれることが期待されます。 テスト範囲を増やすパッチは喜んで受け入れられます。 カバレッジ レポートは、次のコマンドを実行して表示できます。
$ make test-cov $ make view-cov
このソフトウェアはオープンソースとして無料で提供されます。 このプロジェクトの開発と維持にかかる時間と労力は、@jaredhanson によって費やされています。あなた (またはあなたの雇用主) がこのプロジェクトから利益を得ている場合は、金銭的な寄付を検討してください。 あなたの貢献は、このソフトウェアや他のオープンソース ソフトウェアを作成する取り組みを継続するのに役立ちます。
資金は PayPal、Venmo、その他の方法で受け付けられます。 金額に関わらず大歓迎です。
MITライセンス
著作権 (c) 2011-2016 ジャレッド・ハンソン <http://jaredhanson.net/>