【问题标题】:How to get the state of a Token?如何获取 Token 的状态?
【发布时间】:2019-11-13 19:22:25
【问题描述】:

我正在尝试实现一种方法来限制令牌的使用一次。首次使用后,您不能通过使用 UsedAlready 标记标记其状态的令牌来正常使用它,如果尚未使用,则标记为 Unused。我该如何在 apigee 中做到这一点?目前我有以下条件来判断Token是否已经被使用。

 <Step>
    <Condition>(request.queryparam.state NotEquals accesstoken.state)</Condition>
    <Name>RF-TokenAlreadyUsed</Name>
</Step>

查看我的 Tracetool,apigee 抛出我的 accesstoken.state 不包含任何内容,但为什么会这样?。无论如何,我的 API 代理和保存令牌创建默认状态的策略似乎都可以正常工作。

PS:我也做了几乎相同的事情,但使用不存在的变量而不是使用属性将令牌与特定帐户相关联。但是对状态做同样的事情和我对属性所做的事情是行不通的。我做错了什么?,我使用apigee的状态参数对吗? , 因为状态参数是一个可选参数,如范围,我想利用状态来获取令牌。

【问题讨论】:

    标签: apigee


    【解决方案1】:

    原来我使用了错误的状态。如thread 中所述,状态应该像这样运行。

    所以为了让我能够做我想做的事,我应该向令牌添加另一个属性,以便我知道令牌是否已被使用。并不是我在使用属性之前没有做过类似的事情,而是我认为状态的使用是为了令牌可访问性。

    【讨论】:

      【解决方案2】:

      你能解释一下为什么你更担心令牌状态吗?除非您将令牌存储在缓存中,否则您将为每个请求获得一个新令牌。 而且您在 APIGEE 中有一个内置策略来验证您的令牌。

      即使您将令牌存储在缓存中,您也可以设置令牌的到期时间。

      此外,缓存用于减少流量并重用令牌。

      所以我无法理解你的目标,你能解释更多吗?

      【讨论】:

        【解决方案3】:

        @user2462133

        回答你的问题。

        我们希望 token1 只有效一次,之后对下一次付款无效。但是这个 token1 将用于生成新的 token2 以再次访问支付 API,因为之前制作的 token 用于在首次使用时绑定帐户。然后,这个新的 token2 将具有另一个状态,该状态仅有效一次,并且在成功交易后,即使该 token 尚未过期,它也不会再次对另一笔交易有效。对于另一笔付款,将再次调用 token1 并检查它是否仍然是有效的令牌,如果是,则为另一笔付款创建另一个 token2。但是如果这个 token1 已经过期了。然后用户必须通过登录他的帐户(即 facebook)再次将他的帐户绑定到我们的服务,执行 OTP 等。为了能够获得另一个令牌1,该令牌将仅用于支付一次,但多次用于验证帐户是否绑定到我们的服务。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-04-20
          • 2013-06-14
          • 2012-09-15
          • 1970-01-01
          • 2012-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多