Xero-Partner-App中没有会话句柄来续订令牌

时间:2018-09-10 13:39:17

标签: xero-api

来自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));

我已经检查了这些键是我应用程序中的伙伴键,并且任何提示或示例代码都很棒。

0 个答案:

没有答案