我如何在 facebook 登录回调 url 中传递一些动态参数?
我有不同类型的用户(通过“类型”参数区分)使用 Facebook 登录进行注册。我使用passport-facebook创建了一个facebook身份验证策略,效果很好。
但是,在身份验证后,当调用回调 url 时,我需要知道请求注册的用户类型。
我猜我可以在定义回调 url 时传递一个参数
像这样的东西
http://localhost:3000/auth/facebook/callback/type1 http://localhost:3000/auth/facebook/callback/type2
如何将动态值传递到 FacebookStrategy 中?
或者实现这一目标的可能解决方法是什么?
// 护照策略.ts
@Injectable()
export class FacebookStrategy extends PassportStrategy(Strategy) {
constructor() {
super({
clientID: 'MYID',
clientSecret: 'MYSCRET',
callbackURL: "http://localhost:3000/auth/facebook/callback",
profileFields: ['id', 'displayName', 'emails', 'photos']
});
}
async validate(accessToken: any, refreshToken: any, profile: any) {
return {
name: profile.displayName,
email: profile.emails[0].value,
provider: "facebook",
providerId: profile.id,
photo: profile.photos[0].value
}
}
}
Run Code Online (Sandbox Code Playgroud)
// 授权控制器
@Controller('auth')
export class AuthController {
constructor(
@Inject(forwardRef(() => AuthService)) …Run Code Online (Sandbox Code Playgroud)