end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

OpenAMのRestful apiで認証された認証tokeからユーザIDを抽出

【STEP1】 AUTHEN

まず、uid/pwで認証すると、open amがtokenを発行します。
以下は、test137のMY LOGIN IDを end0tknr にした例です

$ curl -k \
 --request POST \
 --header "X-OpenAM-Username: end0tknr" \
 --header "X-OpenAM-Password: testid137" \
 --header "Content-Type: application/json" \
 --data "{}" \
 https://sso.xxxtest.mydns.jp/sso/json/sso/authenticate
{"tokenId":"AQIC5wM2LY4Sf<略>*","successUrl":"/app/edit_user"}

【STEP2】 VALIDATE SESSION

受信したtokenを urlに含めvalidate すると、元のnavi id が取得できます

$ curl -k \
>  --request POST \
>  --header "Content-Type: application/json" \
>  https://sso.xxxtest.mydns.jp/sso/json/sso/sessions
/AQIC5wM2LY4Sf<略>*?_action=validate
{"valid":true,"uid":"testid137","realm":"/sso"}