170 похожих чатов

Привет, подскажите пожалуйста, есть авторизация через гугл, как получить тело

request в таком сценарии??
export class GoogleLoginStrategy extends PassportStrategy(GoogleStrategy, 'google-token') {
constructor(private readonly userSessionService: UserSessionService, private readonly configService: ConfigService) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
super(configService.googleStrategyConfig,
async (accessToken: string, refreshToken: string, profile: any, done: Function) => {
try {
if (!profile._json.verified_email) {
done(new Error('email is not verified'), null);
}
const socialProfile: SocialProfile = {
email: profile._json.email,
id: profile.id,
fullName: profile.name?.givenName + ' ' + profile.name?.familyName,
social: Social.GOOGLE,
};

const user = await this.userSessionService.signupBySocial(socialProfile);
done(null, user);
} catch (err) {
done(err, null);
}

});
}
}

5 ответов

15 просмотров

Юзера получишь хочешь?

Sasha-Sasha Автор вопроса

Суть в том что когда приходит новый пользователь, мне нужно получить новое имя уникальное имя которое он должен вписать в форму, и я не понимаю каким образом его отловить можно

Sasha Sasha
Суть в том что когда приходит новый пользователь, ...

Покажи де юзаешь авторизацию, и обрабатываешь форму юзера

Sasha-Sasha Автор вопроса

Да собственно вот. Есть контроллер с декораторами и в проваейдере у меня прописана стратегия по гуглу @ApiOk({ summary: 'Вход через google' }, { type: UserPasswordLoginPayloadDto }) @UseGuards(JwtGoogleAuthGuard) @UseInterceptors(GoogleAuthInterceptor) @Get('signupGoogle') async signupGoogle(@UserTransport() user: UserDti): Promise<UserPasswordLoginPayloadDto> { if (user.deleted !== DeletedStatuses.NOT_DELETED) { throw new UserDeletedException(); } const token = await this.userSessionService.createToken(user); return new UserPasswordLoginPayloadDto(user, token); } export class GoogleLoginStrategy extends PassportStrategy(GoogleStrategy, 'google-token') { constructor(private readonly userSessionService: UserSessionService, private readonly configService: ConfigService) { // eslint-disable-next-line @typescript-eslint/no-explicit-any super(configService.googleStrategyConfig, (req: Request, res: Response) => { async (accessToken: string, refreshToken: string, profile: any, done: Function) => { try { process.nextTick(() => { console.log('======req', req, '======req'); }) if (!profile._json.verified_email) { done(new Error('email is not verified'), null); } const socialProfile: SocialProfile = { email: profile._json.email, id: profile.id, fullName: profile.name?.givenName + ' ' + profile.name?.familyName, social: Social.GOOGLE, }; const user = await this.userSessionService.signupBySocial(socialProfile); done(null, user); } catch (err) { done(err, null); } } }); } } И тк старый код просто вписывает uuid вместо имени юзера, мне нужно его изменить на обычное имя. И у меня появилась идея что можно это имя с фронта запихать в url и вмомент проверки гугла получать это имя и вписывать в бд. Клиент не я пишу

Sasha-Sasha Автор вопроса
Sasha Sasha
Да собственно вот. Есть контроллер с декораторами ...

ну функцию (req: Request, res: Response) => { не обращай внимание, это я эксперементирую)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта