2014-10-08 102 views
0

我用这openam令牌到期超时

卷曲\ --request POST \ --header“X-OpenAM-用户名使用openam进行身份验证的Web应用程序,使用REST API调用, :演示 “\ --header ”X-OpenAM-密码:的changeit“ \ --header ”内容类型:应用/ JSON“ \ --data ”{}“ \ https://openam-server.com:8443/openam/json/authenticate

这给我一个tokeId作为输出牛逼

{ “tokenId”: “AQIC5w ... NTcy *”, “successUrl”: “/ openam /控制台”

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

回答

1

我检查openam 12.0.0提供了新的会话信息的REST API

这给确定会话是否有效或不基于tokenId

来自openam 12指南:

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

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

要检查会话

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

检查的时间量(以秒计)的会话已经空闲的最大剩余时间(秒)

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

为检查令牌信息我可以使用这个休息apis

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智威汤逊的道理,但如果你想要一个香草访问令牌刚落轮廓和OpenID范围和问别的东西(邮件,CN)

+0

ok我对这个openAM概念很陌生,我使用OpenAM SSOtok只使用openam的rest api返回给我的id,我想知道我们如何检查token是不是过期了,如果openAm token过期了,我应该检查每次tokenid是否有效。 – 2014-10-08 19:02:19

+0

您可以查看http://docs.forgerock.org/en/openam/11.0.0/dev-guide/index.html#rest-api-tokens 代理程序将注册一个令牌监听器,以便在令牌已过期...使用REST时,您必须决定何时检查有效性。 – 2014-10-09 07:15:56

+0

感谢@Bernhard的回复和指导。 – 2014-10-31 09:05:37