openam令牌到期超时

时间:2014-10-08 11:34:23

标签: passport.js openam passport-local

我使用openam在Web App中进行身份验证,使用rest API调用, 使用这个

  卷曲\    --request POST \    --header" X-OpenAM-用户名:demo" \    --header" X-OpenAM-Password:changeit" \    --header" Content-Type:application / json" \    --data" {}" \    https://openam-server.com:8443/openam/json/authenticate"

返回给我一个tokeId作为输出

  

{" tokenId":" AQIC5w ... NTcy *"," successUrl":" / openam / console"

我知道有一个令牌api isTokenValid来检查令牌是否有效,但是我需要获得令牌过期时间,是否可以在不使用oAuth客户端的情况下获得tokenId过期时间,

2 个答案:

答案 0 :(得分:1)

我在openam 12.0.0中检查提供了新会话信息rest apis

这可以根据tokenId

确定会话是否处于活动状态

来自openam 12指南:

对于这些REST端点,请指定两个SSO令牌。为当前经过身份验证的用户提供SSO令牌,作为其名称为SSO令牌cookie名称的标头的值,默认情况下为iPlanetDirectoryPro。将您想要信息的SSO标记指定为REST URL的tokenId查询字符串参数。

/openam/json/sessions/?_action=isActive&tokenId

检查会话的最长剩余时间(以秒为单位)

/openam/json/sessions/?_action=getMaxTime&tokenId

检查会话空闲的时间(以秒为单位)

/openam/json/sessions/?_action=getIdle&tokenId 

用于检查令牌信息我可以使用此休息apis

答案 1 :(得分:0)

json / authenticate端点正在返回OpenAM SSO令牌 - 而不是OAuth2访问令牌。这就是你想要的吗?

如果您需要访问令牌或JWT,请使用oauth2端点:

   curl --request POST --data "grant_type=client_credentials&username=demo&password=password&client_id=test&client_secret=password&scope=cn%20mail%20profile%20openid" \
 http://openam.example.com:28080/openam/oauth2/access_token

以上获取OIDC JWT令牌,但如果您想要一个vanilla访问令牌,只需删除配置文件和openid范围并请求其他内容(mail,cn)