OAuth 2.0 API를 사용하여 Microsoft 계정(Windows Live라고도 함)으로 인증하기 위한 Passport 전략입니다.
이 모듈을 사용하면 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 웹 프레임워크를 사용하는 개발자는 자신의 웹 애플리케이션을 위한 출발점으로 예제를 참조할 수 있습니다. 이 예에서는 Facebook을 사용하여 사용자를 인증하는 방법을 보여줍니다. 그러나 Facebook과 Windows Live는 모두 OAuth 2.0을 사용하므로 코드가 유사합니다. Facebook에 대한 참조를 Windows Live에 대한 해당 참조로 바꾸면 됩니다.
인증 요청에는 범위 및 권한에 자세히 설명된 대로 wl.offline_access
포함되어야 합니다.
Passport.authenticate('windowslive', { 범위: [ 'wl.offline_access' ] })
테스트 스위트는 test/
디렉토리에 있습니다. 모든 새로운 기능에는 해당 테스트 사례가 있을 것으로 예상됩니다. 다음을 실행하여 전체 테스트 스위트가 통과하는지 확인하십시오.
$ 테스트하기
모든 새로운 기능 개발에는 테스트 범위가 포함될 것으로 예상됩니다. 테스트 적용 범위를 늘리는 패치는 기꺼이 받아들여집니다. 적용 범위 보고서는 다음을 실행하여 볼 수 있습니다.
$ test-cov 만들기 $ view-cov 만들기
이 소프트웨어는 오픈 소스로 무료로 제공됩니다. 이 프로젝트를 개발하고 유지하는 데 드는 시간과 노력은 @jaredhanson이 쏟고 있습니다. 귀하(또는 귀하의 고용주)가 이 프로젝트로 이익을 얻는다면 재정적 기여를 고려해 보십시오. 귀하의 기여는 이 소프트웨어와 기타 오픈 소스 소프트웨어를 생산하는 노력을 지속하는 데 도움이 됩니다.
자금은 PayPal, Venmo 및 기타 방법을 통해 승인됩니다. 어떤 금액이든 감사합니다.
MIT 라이센스
저작권 (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>