Мне удалось реализовать приложение NodeJS для входа в свою учетную запись разработчика quickbooks с использованием OAuth2.0. У меня есть ключ клиента и секретный ключ, и я могу получить токен доступа, войдя в quickbooks с их всплывающим окном, и это перенаправляет меня в мое приложение, после чего пользователь может отправлять счета или получать данные из этой учетной записи quickbooks.
Однако я хочу, чтобы пользователю не приходилось входить в quickbooks, чтобы отправлять счета или выполнять какие-либо другие операции с quickbooks. Я хочу иметь возможность написать функциональность, которую приложение может выполнять в QuickbooksAPI, автоматически входя в quickbooks. Как я могу этого добиться?
Другими словами, я хочу, чтобы сервер NodeJS автоматически входил в quickbooks, если у пользователя приложения есть роли или разрешение на выполнение действий quickbooks, таких как создание и выставление счетов или получение информации. Приложение должно предоставить себе разрешение на OAuth2.0. Как мне это сделать? с токеном JWT? Не уверен
Немного предыстории: мне удалось выполнить аутентификацию Oauth2.0 с помощью модуля node-quickbooks от mcohen.
заранее спасибо
The application should grant itself permission to the OAuth2.0. How do I do this?
Вы не можете.
Но вы также можете неправильно понимать, как должен работать OAuth.
Вам нужно, чтобы пользователь прошел процесс OAuth ОДИН РАЗ. Ровно один раз. Не более однажды.
После того, как они пройдут этот процесс однажды, вы получите токен доступа а также — токен обновления.
Затем вы можете использовать эти токены для получить обновленные токены, когда захотите (например, программно обновить свой токен доступа/обновления, без при любом взаимодействии с пользователем). См. документы:
Итак, попросите пользователя пройти через OAuth один раз. Затем хранить токены в своем приложении. Обновите токены с помощью API токена обновления. Пользователь просто должен авторизоваться ровно один раз, а затем все остальное вы можете делать автоматически навсегда.
Здравствуйте, сэр, я перехожу по вашей ссылке выше, но получаю сообщение об ошибке stackoverflow.com/questions/61870639/….