Моя конфигурация OAuth Basic ведёт себя довольно странно. Изначально при настройке возникло несколько ошибок, которые я исправил. Однако теперь я вижу, что процесс идёт по следующему пути: Discourse → Cognito Authorize Endpoint → Discourse Callback → Discourse /login. В логах нет предупреждений или ошибок, и при их проверке видно, что успешно выполнен JSON-запрос для получения данных пользователя.
Учитывая, что, судя по всему, получен успешный токен и загружены данные в формате JSON, я ожидал, что учётная запись пользователя будет успешно зарегистрирована. Вместо этого пользователя перенаправляет на страницу входа.
Ниже приведены логи.
Отладка OAuth2: ответ after_authenticate, учётные данные: {"token" => "eyJraWQiOiJ3YW8zbVBRWmh2Z2F6YldNaU5jS3ZOdVdRMXRmcm1ya2ZVZ2RvVjVYSG1RPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJkNzhkZDliNS03Mjc2LTQ5OWEtYjdiN
19:48
Отладка OAuth2: URL для получения данных пользователя (user_json_url): GET https://api.lifebac.com/token/details?token=eyJraWQiOiJ3YW8zbVBRWmh2Z2F6YldNaU5jS3ZOdVdRMXRmcm1ya2ZVZ2RvVjVYSG1RPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJkNzhkZDliNS03Mjc
19:48
Отладка OAuth2: ответ от сервера с данными пользователя (user_json_response): #<Excon::Response:0x00007f36a7608a30 @data={:body=>"{\"id\":\"d78dd9b5-7276-499a-b7b6-02da38e03ce9\", ...}", :cookies=>[], :host=>"api.lifebac.com", :headers=>{"Conten
19:48
Отладка OAuth2: данные пользователя (user_json): {"id" => "d78dd9b5-7276-499a-b7b6-02da38e03ce9", ...}
Буду крайне признателен за любую помощь в выяснении причин происходящего. При необходимости с радостью предоставлю трассировки стека вызовов.
К сожалению, эта информация не отображается, и без ввода всех данных пользователя подтвердить ничего нельзя.
Также возможно ли автоматически подтвердить пользователя? Его электронная почта уже подтверждена с нашей стороны, и мы хотим сделать этот процесс максимально бесшовным для наших пользователей.
Минимальные данные для подключения учётной записи к учётной записи Discourse — это только id. Однако Discourse требует имя пользователя и адрес электронной почты. Именно поэтому мы открываем модальное окно регистрации.
Если вы сможете добавить эту информацию в OAuth API, это значительно упростит процесс для ваших пользователей