我使用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过期时间,
答案 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)