- $server = init_openid_server();
- $user = S::user();
-
- // Check that the identity matches the user currently logged in
- if ($request->identity != get_user_openid_url($user)) {
- $response =& $request->answer(false);
- $webresponse =& $server->encodeResponse($response);
- $this->render_openid_response($webresponse);
- return;
- }
-
- if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $page->changeTpl('openid/trust.tpl');
- $page->assign('relying_party', $request->trust_root);
- return;
- }
-
- if (isset($_POST['trust'])) { // $_SERVER['REQUEST_METHOD'] == 'POST'
- unset($_SESSION['request']);
- $response =& $request->answer(true, null, $request->identity);
-
- // Answer with some sample Simple Registration data.
- // TODO USE REAL USER DATA
- // $user = S::user();
- $sreg_data = array(
- 'fullname' => 'Example User',
- 'nickname' => 'example',
- 'dob' => '1970-01-01',
- 'email' => 'invalid@example.com',
- 'gender' => 'F',
- 'postcode' => '12345',
- 'country' => 'ES',
- 'language' => 'eu',
- 'timezone' => 'America/New_York');
-
- // Add the simple registration response values to the OpenID
- // response message.
- require_once 'Auth/OpenID/SReg.php';
- $sreg_request = Auth_OpenID_SRegRequest::fromOpenIDRequest($request);
- $sreg_response = Auth_OpenID_SRegResponse::extractResponse($sreg_request, $sreg_data);
- $sreg_response->toMessage($response->fields);
-
- // Generate a response to send to the user agent.
- $webresponse =& $server->encodeResponse($response);
- $this->render_openid_response($webresponse);