Merge pull request #3915 from rmartone/master

defs for passport-facebook-token
This commit is contained in:
Masahiro Wakame
2015-03-21 13:19:41 +09:00
3 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
/// <reference path='./passport-facebook-token.d.ts' />
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));

View File

@@ -0,0 +1 @@
--noImplicitAny --module commonjs --target es5

View File

@@ -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 <https://github.com/rmartone>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../passport/passport.d.ts"/>
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;
}
}