Wiki
Clone wikinewax / Home
Request
Define a standard vocabulary for attributes so that we will not need to do the name url mapping.
All the ax variables are treated as "required" (for the moment).
ax:mode can either be "fetch_request" or "store_request".
{
"ns":"http://openid.net/specs/ab/1.0/",
"mode":"direct_checkid_setup",
"client_id":"http://rp.tonescape.net/",
"claimed_id":"http://specs.openid.net/auth/2.0/identifier_select",
"identifier":"http://specs.openid.net/auth/2.0/identifier_select",
"redirect_url":"http://www.sakimura.org/specs/ab/sample/rp_ax_sig.php",
"ns:ax":"http://axschema.org/",
"ax:mode":"fetch_request",
"ax:media/image/default":"",
"ax:namePerson/friendly":"",
"ax:namePerson/last#ja_Hani_JP":"",
"ax:namePerson/first#ja_Hani_JP":"",
"ax:person/gender":"",
"ax:birthDate/birthYear":"",
"ax:update_url":"http://example.com/update?transactionid=a6b5c41"
}
Identity
Identity is (conceptually) stored as a JSON object at the Identity_URL. It is access controlled.
{
"ns":"http://openid.net/specs/ab/1.0/",
"mode":"id_res",
"op_endpoint":"https://tonescape.net/specs/ab/sample/op_sig.php",
"claimed_id":"https://tonescape.net/alice#1234",
"identity":"alice",
"client_id":"http://rp.tonescape.net/",
"ns:ax":"http://openid.net/srv/ax/1.0",
"ax:mode":"fetch_response",
"ax:media/image/default":"http://example.com/image/alice.jpg",
"ax:namePerson/friendly":"alice",
"ax:namePerson/last#ja_Hani_JP":"山田",
"ax:namePerson/first#ja_Hani_JP":"亜理紗",
"ax:person/gender":"female",
"ax:birthDate/birthYear":"2000",
"ax:link":"http://alice.in.wonder.land.example.com/",
}
Identity_URL?metadata=1 or identity_URL/+metadata or something like that would yield metadata about the identiy.
Response
calculate the response by
array_intersect_key ($identity,$request) ;
+ ax.update_url must be added back.
Then, following will be the response/assertion.
{
"ns":"http://openid.net/specs/ab/1.0/",
"mode":"id_res",
"op_endpoint":"https://tonescape.net/specs/ab/sample/op_sig.php",
"claimed_id":"https://tonescape.net/alice#1234",
"identity":"alice",
"client_id":"http://rp.tonescape.net/",
"ns:ax":"http://openid.net/srv/ax/1.0",
"ax:media/image/default":"http://example.com/image/alice.jpg",
"ax:namePerson/friendly":"alice",
"ax:namePerson/last#ja_Hani_JP":"山田",
"ax:namePerson/first#ja_Hani_JP":"亜理紗",
"ax:person/gender":"female",
"ax:birthDate/birthYear":"2000",
"ax:update_url":"http://example.com/update?transactionid=a6b5c41"
}
Wiki as a repository
$ hg clone http://bitbucket.org/Nat/newaxwiki/
Wiki pages are normal files, with the .wiki extension. You can edit them locally, as well as creating new ones.
Updated