Ejemplo n.º 1
0
 /**
  * Send the user to their OpenID provider to authenticate.
  *
  * @param Auth_OpenID_AuthRequest $auth_request OpenID authentication request object
  * @param string $trust_root OpenID trust root
  * @param string $return_to URL where the OpenID provider should return the user
  */
 function doRedirect($auth_request, $trust_root, $return_to)
 {
     global $openid;
     if ($auth_request->shouldSendRedirect()) {
         if (substr($trust_root, -1, 1) != '/') {
             $trust_root .= '/';
         }
         $redirect_url = $auth_request->redirectURL($trust_root, $return_to);
         if (Auth_OpenID::isFailure($redirect_url)) {
             $openid->log->error('Could not redirect to server: ' . $redirect_url->message);
         } else {
             wp_redirect($redirect_url);
         }
     } else {
         // Generate form markup and render it
         $form_id = 'openid_message';
         $form_html = $auth_request->formMarkup($trust_root, $return_to, false);
         if (Auth_OpenID::isFailure($form_html)) {
             $openid->log->error('Could not redirect to server: ' . $form_html->message);
         } else {
             WordPressOpenID_Interface::display_openid_redirect_form($form_html);
         }
     }
 }