Wiki

Clone wiki

newax / 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