mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 06:47:03 +00:00
Merge pull request #14079 from enaeseth/passport-serialize-user-fix
[passport] Fix serializeUser and deserializeUser
This commit is contained in:
Vendored
+2
-2
@@ -55,8 +55,8 @@ declare module 'passport' {
|
||||
authenticate(strategy: string|string[], options: AuthenticateOptions, callback?: Function): express.Handler;
|
||||
authorize(strategy: string|string[], callback?: Function): express.Handler;
|
||||
authorize(strategy: string|string[], options: any, callback?: Function): express.Handler;
|
||||
serializeUser<TUser, TID>(fn: (user: TUser, done: (err: any, id: TID) => void) => void): void;
|
||||
deserializeUser<TUser, TID>(fn: (id: TID, done: (err: any, user: TUser) => void) => void): void;
|
||||
serializeUser<TUser, TID>(fn: (user: TUser, done: (err: any, id?: TID) => void) => void): void;
|
||||
deserializeUser<TUser, TID>(fn: (id: TID, done: (err: any, user?: TUser) => void) => void): void;
|
||||
transformAuthInfo(fn: (info: any, done: (err: any, info: any) => void) => void): void;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,10 +25,32 @@ const newFramework:passport.Framework = {
|
||||
};
|
||||
passport.use(new TestStrategy());
|
||||
passport.framework(newFramework);
|
||||
passport.serializeUser((user, done) => { });
|
||||
passport.serializeUser<string, number>((user, done) => { });
|
||||
passport.deserializeUser((id, done) => { });
|
||||
passport.deserializeUser<string, number>((id, done) => { });
|
||||
|
||||
interface TestUser {
|
||||
id: number;
|
||||
}
|
||||
passport.serializeUser((user: TestUser, done: (err: any, id?: number) => void) => {
|
||||
done(null, user.id);
|
||||
});
|
||||
passport.serializeUser<TestUser, number>((user, done) => {
|
||||
if (user.id > 0) {
|
||||
done(null, user.id);
|
||||
} else {
|
||||
done(new Error('user ID is invalid'));
|
||||
}
|
||||
});
|
||||
passport.deserializeUser((id, done) => {
|
||||
done(null, {id});
|
||||
});
|
||||
passport.deserializeUser<TestUser, number>((id, done) => {
|
||||
const fetchUser = (id: number): Promise<TestUser> => {
|
||||
return Promise.reject(new Error(`user not found: ${id}`));
|
||||
};
|
||||
|
||||
fetchUser(id)
|
||||
.then((user) => done(null, user))
|
||||
.catch((err) => done(err));
|
||||
});
|
||||
|
||||
passport.use(new TestStrategy())
|
||||
.unuse('test')
|
||||
|
||||
Reference in New Issue
Block a user