XERO API Oauth 2.0 аутентификация пользователя - PullRequest
0 голосов
/ 01 апреля 2020

В течение последних нескольких лет я использовал удаленный сервер без присмотра для обработки счетов через API XERO (Oauth 1.0) Периодически (каждый финансовый год) мы создаем новую организацию XERO, чтобы поддерживать порядок и избегать замедления. Я только что пришел, чтобы создать новую организацию и связанное с ней приложение, но обнаружил, что могу использовать только Oauth 2.0, с которым у меня нет серьезных проблем, НО факт, что я должен «аутентифицировать пользователя», будет настоящей проблемой. так как мой процесс «без присмотра» и запущен через задания CRON.

Может кто-нибудь сказать мне, есть ли способ обойти это? и если нет, то есть ли решения для этого? В качестве альтернативы, есть ли способ, которым я могу изменить одно из моих существующих приложений Oauth 1.0, чтобы оно указывало на другую организацию (то есть на новую, которую я только что создал)?

Кажется немного недальновидным, чтобы не рассматривать процессы, оставленные без присмотра. Я не могу быть единственным человеком, делающим это ??

Любая помощь или указатели будут с благодарностью.

Спасибо, Майк.

1 Ответ

1 голос
/ 01 апреля 2020

Да, вы не единственные, кто делает это :) и да, частные приложения по существу устарели в конце 2020 года - этот шаг не был принят легко. Поскольку каждое действие API через API Xero осуществляется от имени учетной записи пользователя, команда решила перейти к OAuth 2.0 (отраслевой стандарт) с экраном согласия пользователя.

Если вам нужны эти длительные API-подключения от имени пользователя - они должны будут сначала аутентифицировать это API-соединение хотя бы один раз, чтобы получить access_token и `refresh_tokenà. Токены доступа действительны в течение 30 минут, в то время как токен refre sh действителен в течение 60 дней. Таким образом, до тех пор, пока вы обновляете sh> 2 месяца, вы можете сохранить этот процесс longtail.

Если вы этого не сделаете У вас нет средств для создания этого начального экрана аутентификации для самостоятельной проверки вашего пользователя, вы можете использовать этот инструмент CLI, чтобы получить исходный набор токенов для безопасного хранения на вашем удаленном сервере. Дополнительным изменением является то, что этот (или какой-то) процесс должен будет убедиться, что токен обновляется перед использованием, и ему предоставлены разрешения для подключения к указанному c user tenant-id, поскольку они могут быть частью нескольких Xero orgs и что На экране ручного согласия пользователь выбирает, для какого арендатора / организации он предоставляет разрешения API.

CLI для получения токенов Xero из командной строки

https://github.com/XeroAPI/xoauth

Подробнее здесь: https://community.xero.com/developer/discussion/109207632#answer110970761

...