From 04b7d945101f0f9db4098a6ebc1af0ae27c4d0fb Mon Sep 17 00:00:00 2001 From: ray Date: Thu, 19 Mar 2015 12:27:12 -0400 Subject: [PATCH] defs for passport-facebook-token --- .../passport-facebook-token-tests.ts | 28 ++++++++++++++ ...passport-facebook-token-tests.ts.tscparams | 1 + .../passport-facebook-token.d.ts | 38 +++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 passport-facebook-token/passport-facebook-token-tests.ts create mode 100644 passport-facebook-token/passport-facebook-token-tests.ts.tscparams create mode 100644 passport-facebook-token/passport-facebook-token.d.ts diff --git a/passport-facebook-token/passport-facebook-token-tests.ts b/passport-facebook-token/passport-facebook-token-tests.ts new file mode 100644 index 000000000..531b7bdce --- /dev/null +++ b/passport-facebook-token/passport-facebook-token-tests.ts @@ -0,0 +1,28 @@ +/// +import passport = require('passport'); +import facebook = require('passport-facebook-token'); + +var User = { + findOrCreate(id: string, provider: string, callback: (err: any, user: any) => void): void { + callback(null, {username: 'ray'}); + } +} + +var options: facebook.StrategyOptions = { + clientID: process.env.PASSPORT_FACEBOOK_CLIENT_ID, + clientSecret: process.env.PASSPORT_FACEBOOK_CLIENT_SECRET +}; + +function verify(accessToken: string, + refreshToken: string, + profile: facebook.Profile, + done: (err: any, user?: any) => void) { + User.findOrCreate(profile.id, profile.provider, function (err, user) { + if (err) { + return done(err); + } + done(null, user); + }); +} + +passport.use(new facebook.Strategy(options, verify)); diff --git a/passport-facebook-token/passport-facebook-token-tests.ts.tscparams b/passport-facebook-token/passport-facebook-token-tests.ts.tscparams new file mode 100644 index 000000000..5f84b9777 --- /dev/null +++ b/passport-facebook-token/passport-facebook-token-tests.ts.tscparams @@ -0,0 +1 @@ +--noImplicitAny --module commonjs --target es5 diff --git a/passport-facebook-token/passport-facebook-token.d.ts b/passport-facebook-token/passport-facebook-token.d.ts new file mode 100644 index 000000000..a5aa11596 --- /dev/null +++ b/passport-facebook-token/passport-facebook-token.d.ts @@ -0,0 +1,38 @@ +// Type definitions for passport-facebook-token 0.4.0 +// Project: https://github.com/drudge/passport-facebook-token +// Definitions by: Ray Martone +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module 'passport-facebook-token' { + + import passport = require('passport'); + import express = require('express'); + + interface Profile extends passport.Profile { + gender: string; + profileUrl: string; + } + + interface StrategyOptions { + clientID: string; + clientSecret: string; + authorizationURL?: string; + tokenURL?: string; + scopeSeparator?: string; + passReqToCallback?: Function; + enableProof?: boolean; + profileFields?: any[]; + } + + class Strategy implements passport.Strategy { + constructor(options: StrategyOptions, + verify: (accessToken: string, + refreshToken: string, + profile: Profile, + done: (err: any, user?: any) => void) => void); + name: string; + authenticate: (req: express.Request, options?: any) => void; + } +}