格子链接令牌和过期在实时服务器中为空

Posted

技术标签:

【中文标题】格子链接令牌和过期在实时服务器中为空【英文标题】:Plaid linktoken and expiration are null in live server 【发布时间】:2021-10-18 19:47:58 【问题描述】:

我尝试在本地运行它,它工作得非常好,但在实时服务器上,没有抛出异常,它返回 linktoken 和异常 null。

public async Task<CreateLinkTokenResult> GetPlaidLinkToken()

    var linkToken = await _client.CreateLinkToken(new CreateLinkTokenRequest()
    
        ClientId = _clientId,
        Secret = _secret,
        User = new CreateLinkTokenRequest.UserInfo
        
            ClientUserId = _userContext.CurrentUser.UserId,

        ,
        CountryCodes = new[]  "US" ,
        ClientName = "TestClient",
        Products = new[]  "transactions" 
    );
    return new CreateLinkTokenResult
    
        Expiration = linkToken.Expiration,
        LinkToken = linkToken.LinkToken
    ;


  "data": 
    "linkToken": null,
    "expiration": null
  ,
  "exception": null,
  "errorMessage": "",
  "statusCode": 200

这是我在实时服务器中得到的响应:

【问题讨论】:

【参考方案1】:

很奇怪。这有点猜测,但您是否考虑过联系您正在使用的 SDK 的作者?我注意到您使用 C# 和 .NET 对此进行了标记,它们具有社区(非官方)SDK 支持。根据我们的 API 文档,来自 /link/token/createlink_tokenexpiration 响应不可为空,因此永远不可能从 API 中获得您看到的结果,这让我认为问题可能出在发生在 SDK 层。如果您不使用 SDK 并且只发出原始 POST 请求,问题是否仍然存在?

如果这不能解决您的问题,请随时提交 Plaid 支持票。

【讨论】:

尚未尝试联系他们。但是我对我的开发设置进行了一些修改,只是为了在我的本地重现该问题,并且我能够通过弄乱格子环境的密钥或 clientId 来重现它。但这很奇怪,因为我的开发和实时服务器具有相同的密钥和 clientId,但它只在 localhost 上工作。 嗯。并澄清两个环境都设置为使用开发,并且您对两者都使用开发秘密?并且您已在 Plaid 开发人员仪表板上确认您仍有剩余的开发项目/尚未全部使用? 实际上,我们都在使用沙盒密码。 对不起,我在本地工作设置中使用的术语是开发设置,我不是指格子中的开发环境。感谢您回答并帮助我。希望你能给我一个领导,我被困住了。 :( 是的,请随时在github.com/plaid/quickstart/blob/master/java/src/main/java/com/… 参考我们的快速入门代码,如果这对您没有帮助,请继续提交支持票。

以上是关于格子链接令牌和过期在实时服务器中为空的主要内容,如果未能解决你的问题,请参考以下文章

在 Play 控制台中为登台和制作单独的实时通知

如何识别和删除服务器上过期的 FCM 令牌?

“无法读取未定义的属性 'uid'”错误 - 格子链接令牌

Keycloak :使用带有永不过期令牌的服务帐户

如果令牌在服务之间过期怎么办?

Spring-boot 资源服务器仅在过期时验证令牌