mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 12:56:46 +08:00
Merge pull request #3915 from rmartone/master
defs for passport-facebook-token
This commit is contained in:
28
passport-facebook-token/passport-facebook-token-tests.ts
Normal file
28
passport-facebook-token/passport-facebook-token-tests.ts
Normal 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));
|
||||
@@ -0,0 +1 @@
|
||||
--noImplicitAny --module commonjs --target es5
|
||||
38
passport-facebook-token/passport-facebook-token.d.ts
vendored
Normal file
38
passport-facebook-token/passport-facebook-token.d.ts
vendored
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user