Несоответствие URI перенаправления Google OAuth или отказано в доступе к базе данных

У меня есть идентификатор клиента OAuth и секрет для Google API.

Я установил идентификатор клиента в записи поставщика Google OAuth в Odoo.

У меня есть соответствующий действующий домен. Когда я пытался войти в систему с помощью Google, появляется экран входа в Google. Я ввожу соответствующие учетные данные Google, Google регистрирует меня, а затем Google пытается перенаправить обратно на мой экземпляр odoo на основе ключа redirect_uri, указанного в URL-адресе. Это момент времени, когда я столкнулся с ошибкой «redirect_uir_mismatch». Если я открываю новую вкладку и захожу в Google, отображается, что я вошел в систему.

Я попытался сопоставить 'redirect_uri', зарегистрированный при регистрации Google OAuth, с ключом 'redirect_uri' в URL-адресе, который используется для входа в Google, оба одинаковы.

Я зарегистрировал следующий redirect_uri: http://erp.mydomain.com/auth_oauth/signin. Этот же ключ uri присутствует в URL-адресе при входе в Google. Но выдает ошибку redirect_uri_mismatch

Изменить:

Я удалил client_id и secret, создал новый и попытался протестировать его, и теперь у меня в экземпляре odoo возникает следующая ошибка:

«У вас нет доступа к этой базе данных, или срок действия вашего приглашения истек. Пожалуйста, попросите приглашение и обязательно перейдите по ссылке в электронном приглашении».

Решение:

Вам необходимо установить флаг "auth_signup.allow_uninvited" на "True".


person Hardik Patadia    schedule 16.12.2015    source источник
comment
Сообщение об ошибке сообщает вам, что такое uri перенаправления. возьмите это и поместите в консоль разработчиков Google.   -  person DaImTo    schedule 16.12.2015
comment
Это то же самое, что я зарегистрировал в консоли разработчика Google. Дополнительным элементом является строка запроса, содержащая response_type, client_id, scope. Также теперь я удалил этот client_id и ключ и создал новый, и теперь он дает мне ошибку приглашения истек или нет доступа к базе данных. Я не понимаю, что происходит. Спасибо за ответ !!   -  person Hardik Patadia    schedule 16.12.2015
comment
Интересно ... где можно установить флаг auth_signup.allow_uninvited на True? Я решил, не трогая ни одного флажка.   -  person Bhavesh Odedra    schedule 17.12.2015
comment
@Odedra Он есть в Безопасность- ›Технические-› Параметры- ›Параметры системы. Создан ли новый пользователь в вашем случае?   -  person Hardik Patadia    schedule 17.12.2015
comment
Нет, в моем случае я этого не делаю. Я думаю, мы должны отправить пользователю электронное письмо с приглашением для сброса пароля. После этого пользователь щелкнет по этой ссылке, она перенаправит вход в Odoo. На экране входа в систему у нас есть имя ссылки для входа в систему с помощью Google и nred, чтобы щелкнуть по ней, и вход пользователя в систему Odoo. Убедитесь, что логин = адрес электронной почты пользователя.   -  person Bhavesh Odedra    schedule 18.12.2015
comment
Вы имеете в виду, что я должен сначала создать нового пользователя под логином администратора и отправить ссылку для сброса пароля только что созданному пользователю? Затем, когда этот пользователь придет на отдых, пройдите. он должен быть перенаправлен в гугл для входа в систему? Я пытаюсь понять, о чем вы говорите, и пытаюсь это реализовать.   -  person Hardik Patadia    schedule 18.12.2015
comment
@HardikPatadia, да, ты на правильном пути с моим. ;-)   -  person Bhavesh Odedra    schedule 18.12.2015
comment
@Odedra Когда пользователь приходит, чтобы сбросить пароль и перейти на страницу Google для входа в систему, он получает вход в odoo. Как теперь он сможет войти в систему в следующий раз? Он должен каждый раз заходить в гугл?   -  person Hardik Patadia    schedule 18.12.2015
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Bhavesh Odedra    schedule 18.12.2015
comment
@Odedra Я в чате   -  person Hardik Patadia    schedule 18.12.2015


Ответы (1)


Да, у меня такая же ошибка, и ее устраняют с помощью Настроить исходящую электронную почту.

Если сервер исходящей почты не настроен, он выдаст вам ошибку, с которой вы столкнулись сейчас.

Для сброса пароля система Odoo отправит электронное письмо пользователю, поэтому в системе должен быть настроен сервер исходящей почты.

Настройте сервер исходящей почты и проверьте его еще раз.

ПРИМЕЧАНИЕ. Отредактируйте данные пользователя, используя логин = his/[email protected]

После этого нажмите "Войти через Google.com".

Это будет работать как оберег.

Для получения дополнительных сведений: Настройка Google Apps. аутентификация с Odoo 8

РЕДАКТИРОВАТЬ:

Да ты прав @Hardik

Нам нужно установить флаг "auth_signup.allow_uninvited" на "True".

person Bhavesh Odedra    schedule 16.12.2015
comment
Я проверю и вернусь сюда. Спасибо за ответ. - person Hardik Patadia; 16.12.2015
comment
Я попытался настроить почтовый сервер, но он все равно показывает ту же ошибку: нет доступа к базе данных или срок приглашения истек. Дело в том, что эта штука работает у меня на месте. Итак, я пытаюсь понять, в чем я ошибаюсь. - person Hardik Patadia; 16.12.2015
comment
странно, это должно работать, дополнительно вы можете проверить идентификатор клиента OAuth - person Bhavesh Odedra; 16.12.2015
comment
Я удалил client_id и создал новый, но результат тот же. Есть ли способ выполнить отладку на стороне сервера, как мы это делаем во время разработки? Мне было интересно, есть ли у вас руководство по пошаговой регистрации идентификатора клиента, чтобы я мог узнать, упускаю ли я какой-либо пункт. - person Hardik Patadia; 16.12.2015
comment
Мне нужно было сделать параметр конфигурации auth_signup.allow_uninvited равным True. Думаю, я забыл об этом. Сейчас он работает. - person Hardik Patadia; 17.12.2015