OAuth: токен запроса аннулирует текущий токен доступа

Наше приложение уже реализует oAuth, чтобы получить токен доступа и секрет от Intuit, и все работает хорошо.

Приложение учитывает, что пользователи могут иметь несколько компаний QBO. Следовательно, когда пользователь пытается разрешить доступ к одной компании, наше приложение проверяет, была ли эта компания уже авторизована, и, если она есть, приложение позволяет пользователю это знать и не пытается повторно санкционировать компанию.

Мы реализовали это следующим образом. Когда процесс авторизации начинается, мы отправляем или добавляем список компаний (королевский ID), которые были разрешены. Пользователь нажимает кнопку "Подключиться к QuickBooks" и следует за мастером. Внутренне приложение получает токен запроса и готово сделать запрос доступа к токену. Запрос токена запроса получает нам идентификатор области, поэтому мы можем сравнить его со списком уже уполномоченных компаний. Если компания авторизована, мы не запрашиваем токен доступа и не информируем пользователя о том, что компания уже авторизована.

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

Что-то изменилось в реализации потока oAuth?

благодаря

1 ответ

Тоны OAuth действительны в течение 180 дней (bydefault). Итак, проверьте, не осталось ли существующих токенов более 180 дней. Если да, используйте "reconnect api".

Ref - https://developer.intuit.com/v2/docs/0050_quickbooks_api/0020_authentication_and_authorization/oauth_management_api#Reconnect

Одно из предложений -

Вы можете реализовать SSO (с помощью мастера "войти в систему с интуицией") в вашем приложении. Таким образом, вы можете связать URL-адрес конечного пользователя с идентификационными марками OAuth своей компании, сохранив их в своем приложении db. В первый раз конечный пользователь будет генерировать токены через поток C2QB. В следующий раз, когда пользователь будет входить в систему, ваше приложение должно извлечь свои токены oauth с помощью своего идентификатора SSO (ваше приложение должно показать опцию "Отключить" вместо C2QB, если у него уже установлено соединение).

благодаря

licensed under cc by-sa 3.0 with attribution.