Oauth 2.0 APIGEE:生成永不过期的accesstoken

Oauth 2.0 APIGEE:生成永不过期的accesstoken,oauth-2.0,apigee,Oauth 2.0,Apigee,我已经在APIGEE BaaS中创建了一个集合,现在正在公开一个API,它可以将来自该集合以及其他后端服务的数据进行聚合。从API调用后端服务时,我使用的是accesstoken。但是,默认情况下,accesstoken的到期时间设置为604800毫秒。我尝试使用下面的API调用更改默认ttl PUT:https://api.usergrid.com//?client_id=&client_secret= {“accesstokenttl”:0} 它给了我一个如下的回复,这似乎表明请求已通过 "

我已经在APIGEE BaaS中创建了一个集合,现在正在公开一个API,它可以将来自该集合以及其他后端服务的数据进行聚合。从API调用后端服务时,我使用的是accesstoken。但是,默认情况下,accesstoken的到期时间设置为604800毫秒。我尝试使用下面的API调用更改默认ttl

PUT:
https://api.usergrid.com//?client_id=&client_secret= {“accesstokenttl”:0}

它给了我一个如下的回复,这似乎表明请求已通过

"uri": "https://api.usergrid.com/<myorg>/<myapp>",
"entities": [
    {
        "uuid": "93495580-ed20-11e3-89d5-25d72fde3d7e",
        "type": "application",
        "name": "<myorg>/<myapp>",
        "created": 1402020991714,
        "modified": 1402535205960,
        "accesstokenttl": 0,

这里有什么我遗漏的吗?

您已在应用程序级别正确更新了您的最大令牌到期日(总结如下):

使用JSON负载(不要忘记设置
内容类型:application/JSON
头!)

其中,tokenttl是以毫秒为单位的时间戳(或不过期,如您在示例中所做的)

您现在需要做的实际上是在令牌调用上设置TTL属性:

POST https://api.usergrid.com/{org}/{app}/token 

{
    "username":"{username}", 
    "password":"{password}", 
    "grant_type":"password", 
    "ttl":"31104000000"
}

这里有一个详细讨论令牌ttl的链接。

我试图使用{org}/{app}/token将ttl设置为0,但它仍然给了我相同的响应-“{”访问令牌“:“UREDSTK1PadFffaygfnffoytciaaaauaxSjHnfhklkg1AbyWvpc_MMWD3VFRaHyA”,“expires_in”:604800,“尝试将其设置为像31104000000这样的大数字(1年).Hrm…再次检查用户/密码以确保?除非它实际上是错误的用户/密码,否则从未见过该错误。如果我给出一个相当大的值,如31104000000,它会给我一个错误,说{“error”:“invalid_grant”,“error_description”:“invalid username或password”}。但是如果我将其设置为311040000(=高于值/100),它将过期设置为以下内容:{“访问令牌”:“ABCEDEFFi8PHuO_9cr9aqqaauag-y8zueppiymxceuy7ruqhchgq2frjs”,“过期时间”:311040,在这种情况下,我认为您的应用程序级别TTL设置不正确。
PUT: https://api.usergrid.com/{org}/{app}/?client_id={app_client_id}&client_secret={app_client_secret}
{
   "accesstokenttl":31104000000
}
POST https://api.usergrid.com/{org}/{app}/token 

{
    "username":"{username}", 
    "password":"{password}", 
    "grant_type":"password", 
    "ttl":"31104000000"
}