Open ID Конечная точка вперед не работает - PullRequest
0 голосов
/ 03 июля 2011

Я новичок в разработке Open Id. Я скачал пример приложения openid4java из Интернета и пытаюсь реализовать то же самое в шахте. До сих пор я написал код, который нужно нажать, чтобы открыть конечную точку id после открытия..Но после этого, когда я пытаюсь попасть в URI конечной точки, я получаю сообщение об ошибке 404, потому что оно добавляет путь к моему URL проекта.Пример:

/ Openid / http: /www.myopenid.com/server. (Здесь Openid - это название моего проекта).

Это мой сервлет:

package com.openid.registration;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.openid4java.discovery.DiscoveryInformation;
import org.openid4java.message.AuthRequest;

public class OpenIdRegistrationServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private String returnToUrl;
RequestDispatcher rd = null;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException 
{
    HttpSession session=request.getSession(false);
    String OpenID=request.getParameter("openid");
    System.out.println("Open ID entered by the user"+OpenID);
    // Delegate to Open ID code
    DiscoveryInformation discoveryInformation = RegistrationService.performDiscoveryOnUserSuppliedIdentifier(OpenID);
    // Store the disovery results in session.
    System.out.println("OPEnd Point"+discoveryInformation.getOPEndpoint());
    session.setAttribute("discoveryInformation", discoveryInformation);
     // Create the AuthRequest
    returnToUrl=RegistrationService.getReturnToUrl();
    AuthRequest authRequest = RegistrationService.createOpenIdAuthRequest(discoveryInformation, returnToUrl);
    rd = request.getRequestDispatcher(authRequest.getDestinationUrl(true));
    System.out.println("Destination URL:"+authRequest.getDestinationUrl(true));
    rd.forward(request, response);

}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(request,response);
    // TODO Auto-generated method stub
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(request,response);
    // TODO Auto-generated method stub
}

}

Я развернул свое приложение в tomcat 5. Есть ли способ удалить имя моего проекта из URL-адреса или мне нужно перенаправить с веб-сервера apache?Любая помощь приветствуется

1 Ответ

0 голосов
/ 13 июля 2011

Это моя ошибка. Я перешел вперед (запрос, ответ) на sendRedirect (authRequest.getDestinationUrl (true)). Он начал работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...