标签: passport-facebook-token

带有 NestJS 的 Facebook 护照

我已经研究了两者passport-facebook以及passport-facebook-token与 NestJS 的集成。问题在于 NestJS 使用自己的实用程序(例如 AuthGuard)抽象了通行证实现。

因此,记录的ExpressJS样式实现不适用于 NestJS。例如,这与@nestjs/passport包不兼容:

var FacebookTokenStrategy = require('passport-facebook-token');

passport.use(new FacebookTokenStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET
  }, function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({facebookId: profile.id}, function (error, user) {
      return done(error, user);
    });
  }
));
Run Code Online (Sandbox Code Playgroud)

这篇博文展示了一种passport-facebook-token使用不符合AuthGuard.

@Injectable()
export class FacebookStrategy {
  constructor(
    private readonly userService: UserService,
  ) {
    this.init();
  }
  init() {
    use(
      new FacebookTokenStrategy(
        {
          clientID: <YOUR_APP_CLIENT_ID>,
          clientSecret: <YOUR_APP_CLIENT_SECRET>,
          fbGraphVersion: 'v3.0',
        },
        async (
          accessToken: …
Run Code Online (Sandbox Code Playgroud)

node.js passport-facebook passport.js nestjs passport-facebook-token

6
推荐指数
1
解决办法
1357
查看次数