tags:

views:

313

answers:

0

I'm trying to write my own provider in PHP (JanRain libraries are confusing as all hell, and even phpMyID doesn't document exactly what is happening). I've got authentication working, but when the relying party tries to do check_authentication, it says my server denied it.

This is debugging information I captured during a check_authentication request.

$_GET:
Array
(
    [mode] => profile
    [username] => jrhodes
    [domain] => roket-enterprises.com
)
$_POST:
Array
(
    [openid_assoc_handle] => {HMAC-SHA1}{4abdf2f1}{olw8ag==}
    [openid_identity] => http://www.roket-enterprises.com/openaccount/openid:jrhodes
    [openid_mode] => check_authentication
    [openid_response_nonce] => 2009-09-26T10:54:41ZLg0kfQ
    [openid_return_to] => http://www.wasab.dk/morten/2007/11/openid/?janrain_nonce=2009-09-26T10%3A54%3A37Z9rZCkP&openid1_claimed_id=http%3A%2F%2Fwww.roket-enterprises.com%2Fopenaccount%2Fopenid%3Ajrhodes
    [openid_sig] => Xl94j3IJtfSEQ4oKfova68I8edc=
    [openid_signed] => assoc_handle,identity,mode,response_nonce,return_to,signed,sreg.email,sreg.fullname,sreg.nickname
    [openid_sreg_email] => [email protected]
    [openid_sreg_fullname] => James Rhodes
    [openid_sreg_nickname] => jrhodes
)

 Using Specific Mode Endpoint Handler...
  Answering check_authentication
Headers:
  Content-Type: text/plain;
  openid.mode: id_res;
  openid_mode: id_res;
  sreg.fullname: James Rhodes;
  sreg.nickname: jrhodes;
  sreg.email: [email protected];
  is_valid: true;

The GET and POST data is the data that my script is receiving. Everything after "Headers:" are the headers that my script is returning. According to the specifications, I can't see anything wrong with this.

I've been asking on #openid for the last 4 hours and haven't got a response (note to self: post on StackOverflow, then ask IRC). Can anyone help?