Използваме "бисквитки" (cookies), за да персонализираме съдържанието и да анализираме трафика си. Повече подробности можете да прочететеТУК

Консултации и помощ при обучението по информатика и уеб програмиране

  • 14 323
  • 55
  •   1
Отговори
# 45
  • Мнения: 24
Здравейте ас.д-р Керемедчиев,

Бихте ли ми казали къде ми е грешката в кода? Не мога да се впиша с Google и бутонът за вписване с Гугъл не е стилизиран.

Благодаря,

Алекс
Здравейте,

за стилизирането проверете дали е зареден FontAwesome, който ползвате в bootstrap шаблона. Би трябвало да се зарежда в partials/header файла. Това което сте избрали би трябвало да изглежда както е показано на този адрес: https://fontawesome.com/icons/google . Проверете в dev tools на браузъра дали се зареждат правилно всички ресурси.

При вписването с Google виждам недобър callbackURL. В документацията има описано решение с private IP. Вижте го в секция "Note about Local environment" на http://www.passportjs.org/packages/passport-google-oauth2/ .

Делян Керемедчиев

# 46
  • Мнения: 78
Здравейте,

Благодаря за отговора.
Извинявайте, че не Ви отговорих по-бързо. Прегледах passport docs и смених userProfileURL: "https://www.googleapis.com/oauth2/v3/userinfo" за  passReqToCallback   : true
 Не се получава и искам да го погледна със ʼʼсвежи очиʼʼ. CallbackURL в урока е по същия начин, както го бях написала и това ме обърква, за това гледах и какво съм задала в API& Services, но не намирам грешка и там.

Алекс

Последна редакция: пт, 30 окт 2020, 18:53 от Alex_Sandra

# 47
  • Мнения: 78
п.с Това не ми е много ясно: a fully qualified domain name- какво име трябва да сложа, за да не е localhost?

Благодаря,
Алекс

# 48
  • Мнения: 24
Здравейте,

Благодаря за отговора.
Извинявайте, че не Ви отговорих по-бързо. Прегледах passport docs и смених userProfileURL: "https://www.googleapis.com/oauth2/v3/userinfo" за  passReqToCallback   : true
 Не се получава и искам да го погледна със ʼʼсвежи очиʼʼ. CallbackURL в урока е по същия начин, както го бях написала и това ме обърква, за това гледах и какво съм задала в API& Services, но не намирам грешка и там.

Алекс

Важно е да се уверите, че този callbackURL е регистриран в Google Developer Console account-a ви. И че сте генерирали и взели правилните clientID и clientSecret от същото място. Това, което ми се стори странно в callbackURL - а е че води към http://localhost:3000/auth/google/secret. В повечето примери в Интернет и документацията препоръчват да е http://localhost:3000/auth/google/callback или http://localhost:3000/auth/google/redirect.
В тази статия: https://medium.com/the-dev-caf%C3%A9/log-in-with-google-oauth-2- … t-js-1f8abe096175 има подробно описание със снимки на екрани как трябва да регистрирате апликейшъна си и как да го пуснете да работи. Ако отново не се получи опитайте да намерите някакво съобщение за грешка или в коя част прекъсва процеса. Тогава ще е по-лесно да разберем какво точно се "чупи".

Д. Керемедчиев

# 49
  • Мнения: 78
Благодаря.

Това е грешката:
InternalOAuthError: Failed to fetch user profile
    at C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\passport-google-oauth20\lib\strategy.js:99:19
    at passBackControl (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\oauth\lib\oauth2.js:132:9)
    at IncomingMessage.<anonymous> (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\oauth\lib\oauth2.js:157:7)
    at IncomingMessage.emit (events.js:326:22)
    at endReadableNT (_stream_readable.js:1223:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

After refresh: TokenError: Bad Request
    at Strategy.OAuth2Strategy.parseErrorResponse (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\passport-oauth2\lib\strategy.js:358:12)
    at Strategy.OAuth2Strategy._createOAuthError (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\passport-oauth2\lib\strategy.js:405:16)
    at C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\passport-oauth2\lib\strategy.js:175:45
    at C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\oauth\lib\oauth2.js:191:18
    at passBackControl (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\oauth\lib\oauth2.js:132:9)
    at IncomingMessage.<anonymous> (C:\Users\Alex\Desktop\Web Development\AuthenticationSecrets\node_modules\oauth\lib\oauth2.js:157:7)
    at IncomingMessage.emit (events.js:326:22)
    at endReadableNT (_stream_readable.js:1223:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

Мисля, че грешката ми не е в app.js, защото съм сравнявала кода, с този на преподавателя ред по ред и съвпада. Накрая даже го копирах, но пак не тръгва. Когато отворя апп-а на преподавателя- работи, а моят- не. Сега ще търся грешката в google developer console.
Ако сменя callBackURL да е callback, а не secrets, трябва ли да сменя passport.authenticate("local")(req, res, function(){
        res.redirect("/secrets"); заради това- Also both sign-in button + callbackURL has to be share the same url, otherwise two cookies will be created and it will lead to lost your session?

Пробвах доста неща от Stackoverflow, вкл enabling of google+ API.

Бутонът беше от Bootstrap social buttons и го оправих.

Алекс

Последна редакция: сб, 31 окт 2020, 23:12 от Alex_Sandra

# 50
  • Мнения: 24

Мисля, че грешката ми не е в app.js, защото съм сравнявала кода, с този на преподавателя ред по ред и съвпада. Накрая даже го копирах, но пак не тръгва. Когато отворя апп-а на преподавателя- работи, а моят- не. Сега ще търся грешката в google developer console.
Ако сменя callBackURL да е callback, а не secrets, трябва ли да сменя passport.authenticate("local")(req, res, function(){
        res.redirect("/secrets"); заради това- Also both sign-in button + callbackURL has to be share the same url, otherwise two cookies will be created and it will lead to lost your session?

Пробвах доста неща от Stackoverflow, вкл enabling of google+ API.

Бутонът беше от Bootstrap social buttons и го оправих.

Алекс

Опитайте вашия код с clientID и secret на този от преподавателя. Ако заработи, значи проблема е в тях.

# 51
  • Мнения: 78
Не тръгва и така.

# 52
  • Мнения: 78
Оправих го, едиторът ми е премахнал www. пред googleapis.
Благодаря за насоките.

# 53
  • Мнения: 78
Пак съм аз…
Опитвам се да създам нов React App, но когато го стартирам локално ми излиза следната грешка:
Failed to compile
./src/logo.svg
Error: ENOENT: no such file or directory, open 'C:\Users\Aleю\Desktop\res\src\logo.svg'

# 54
  • Мнения: 24
Пак съм аз…
Опитвам се да създам нов React App, но когато го стартирам локално ми излиза следната грешка:
Failed to compile
./src/logo.svg
Error: ENOENT: no such file or directory, open 'C:\Users\Aleю\Desktop\res\src\logo.svg'
Случайно да се е загубил файла logo.svg? Опитайте следните стъпки:
1.Закоментирайте или изтрийте този ред:
import logo from './logo.svg'
И разбира се:
2. Изтрийте този ред:
<img src={logo} className="App-logo" alt="logo" />

Другия вариант - сложете logo.svg в тази папка (може да е ваше лого).

# 55
  • Мнения: 78
Благодаря Ви, оправих го.

Общи условия

Активация на акаунт