Ошибка от Xero:
Токен не соответствует ожидаемому токену REQUEST
Похоже, проблема связана с комментарием со справочного сайта Xero?
Эта ошибка также произойдет, если дескриптор сеанса не используется в
процесс обновления токена доступа.
Я подтвердил, что не получаю это на объекте возврата следующего:
public async Task<AccessTokenDto> Authorise(string oauth_token, string oauth_verifier, string org)
{
var xeroacessToken =
_authenticator.RetrieveAndStoreAccessToken(_user.Name,
oauth_token, oauth_verifier, org);
}
Я не уверен, как получить дескриптор сеанса и как использовать его в моем сервисном вызове для обновления токена? Согласно примеру, я ожидал этого на своем токене.
oauth_session_handle = ODJHMGEZNGVKMGM1NDA1NZG3ZWIWNJ
«Дескриптор сеанса, используемый для обновления токена доступа»
Код, который работает в первый раз с токеном, который был извлечен из базы данных:
var tokenStore = new MemoryTokenStore();
tokenStore.Add(xerotoken);
var api = new RA.Xero.Partner.Core(tokenStore, XeroUser(UserId)), _hostingEnvironment)
{
UserAgent = "My Partner App " + input.ConsumerKey,
};
Я попытался проверить, будет ли работать прямая аутентификация партнера:
var tokenStore = new MemoryTokenStore();
tokenStore.Add(xerotoken);
Settings ApplicationSettings = new Settings();
X509Certificate2 certificate = RA.Xero.Partner.Core.Certificate(_hostingEnvironment);
var partnerAuthentication = new RA.Xero.Public.PartnerAuthenticator(
ApplicationSettings.Uri,
ApplicationSettings.AuthorizeUri,
ApplicationSettings.CallBackUri,
tokenStore,
certificate
);
var consumer = new Consumer(ApplicationSettings.Key,
ApplicationSettings.Secret);
var token = partnerAuthentication.GetToken(consumer,
XeroUser(UserId));
Я проверил, что ключи - это ключи партнера в моем приложении, и любые советы или примеры кода были бы хорошими.