Package org.openid4java.server

Offers support for implementing an OpenID Provider server.

See:
          Description

Interface Summary
NonceGenerator  
ServerAssociationStore  
 

Class Summary
IncrementalNonceGenerator  
InMemoryServerAssociationStore  
JdbcServerAssociationStore JDBC implementation for the ServerAssociationStore interface.
RealmVerifier  
RealmVerifierFactory Factory object that, given a Yadis resolver, makes RealmVerifiers.
SampleServer Sample Server (OpenID Provider) implementation.
ServerManager Manages OpenID communications with an OpenID Relying Party (Consumer).
 

Exception Summary
ServerException  
 

Package org.openid4java.server Description

Offers support for implementing an OpenID Provider server.

The general usage pattern for a OpenID Provider is outlined below:

    // instantiate a ServerManager object
    public static ServerManager manager = new ServerManager();

    // configure the OpenID Provider's endpoint URL
    static
    {
        manager.setOPEndpointUrl("Http://my.openidprovider.com/server");
    }

    // extract the parameters from the request
    ParameterList request = new ParameterList(httpReq.getParameterMap());

    String mode = request.hasParameter("openid.mode") ?
            request.getParameterValue("openid.mode") : null;

    Message response;
    String responseText;

    if ("associate".equals(mode))
    {
        // --- process an association request ---
        response = manager.associationResponse(request);
        responseText = response.keyValueFormEncoding();
    }
    else if ("checkid_setup".equals(mode)
            || "checkid_immediate".equals(mode))
    {
        // interact with the user and obtain data needed to continue
        List userData = userInteraction(request);

        String userSelectedId = (String) userData.get(0);
        String userSelectedClaimedId = (String) userData.get(1);
        Boolean authenticatedAndApproved = (Boolean) userData.get(2);

        // --- process an authentication request ---
        response = manager.authResponse(request,
                userSelectedId,
                userSelectedClaimedId,
                authenticatedAndApproved.booleanValue());

        // caller will need to decide which of the following to use:
        // - GET HTTP-redirect to the return_to URL
        // - HTML FORM Redirection
        responseText = response.wwwFormEncoding();
    }
    else if ("check_authentication".equals(mode))
    {
        // --- processing a verification request ---
        response = manager.verify(request);
        responseText = response.keyValueFormEncoding();
    }
    else
    {
        // --- error response ---
        response = DirectError.createDirectError("Unknown request");
        responseText = response.keyValueFormEncoding();
    }

    // return the result to the user
    return responseText;



Copyright © 2011 Sxip. All Rights Reserved.