2014-10-08 55 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