org.openid4java.discovery
Class Discovery

java.lang.Object
  extended by org.openid4java.discovery.Discovery

public class Discovery
extends java.lang.Object

Author:
Marius Scurtescu, Johnny Bufu

Field Summary
private  HtmlResolver _htmlResolver
           
private static org.apache.commons.logging.Log _log
           
private  org.openxri.resolve.Resolver _xriResolver
           
private  YadisResolver _yadisResolver
           
private static boolean DEBUG
           
private static java.lang.String ROOT_DEF_AT_URI
           
private static java.lang.String ROOT_DEF_BANG_URI
           
private static java.lang.String ROOT_DEF_EQ_URI
           
private static java.util.regex.Pattern URL_PATTERN
           
private static java.util.regex.Pattern XRI_PATTERN
           
 
Constructor Summary
Discovery()
           
 
Method Summary
 java.util.List discover(Identifier identifier)
           
 java.util.List discover(java.lang.String identifier)
           
private  java.util.List extractDiscoveryInformation(HtmlResult htmlResult)
          Extracts OpenID discovery endpoints from a HTML discovery result.
protected static java.util.List extractDiscoveryInformation(org.openxri.xml.XRDS xrds, Identifier identifier)
          Extracts OpenID discovery endpoints from a XRDS discovery result.
protected static java.util.List extractDiscoveryInformation(org.openxri.xml.XRDS xrds, XriIdentifier identifier, org.openxri.resolve.Resolver xriResolver)
          Extracts OpenID discovery endpoints from a XRDS discovery result for XRI identifiers.
static boolean extractDiscoveryInformationOpenID(org.openxri.resolve.Resolver xriResolver, java.util.ArrayList out, org.openxri.xml.XRD baseXRD, XriIdentifier identifier, java.lang.String srvType, boolean wantCID)
           
protected static java.util.List extractRpDiscoveryInformation(org.openxri.xml.XRDS xrds)
           
static java.lang.String getDelegate(org.openxri.xml.Service service, boolean compatibility)
           
private  boolean isProviderAuthoritative(java.lang.String providerId, org.openxri.xml.CanonicalID canonicalId)
           
static boolean matchType(org.openxri.xml.Service service, java.lang.String sVal)
           
static Identifier parseIdentifier(java.lang.String identifier)
           
static Identifier parseIdentifier(java.lang.String identifier, boolean removeFragment)
           
static java.util.List rpDiscovery(java.lang.String realm, YadisResolver yadisResolver)
          Performs discovery on the Relying Party's realm and returns a list of OpenID 2.0 DiscoveryInformation entries.
 void setHtmlResolver(HtmlResolver htmlResolver)
           
 void setXriResolver(org.openxri.resolve.Resolver xriResolver)
           
 void setYadisResolver(YadisResolver yadisResolver)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_log

private static org.apache.commons.logging.Log _log

DEBUG

private static final boolean DEBUG

URL_PATTERN

private static final java.util.regex.Pattern URL_PATTERN

XRI_PATTERN

private static final java.util.regex.Pattern XRI_PATTERN

ROOT_DEF_EQ_URI

private static final java.lang.String ROOT_DEF_EQ_URI
See Also:
Constant Field Values

ROOT_DEF_AT_URI

private static final java.lang.String ROOT_DEF_AT_URI
See Also:
Constant Field Values

ROOT_DEF_BANG_URI

private static final java.lang.String ROOT_DEF_BANG_URI
See Also:
Constant Field Values

_xriResolver

private org.openxri.resolve.Resolver _xriResolver

_yadisResolver

private YadisResolver _yadisResolver

_htmlResolver

private HtmlResolver _htmlResolver
Constructor Detail

Discovery

public Discovery()
Method Detail

setXriResolver

public void setXriResolver(org.openxri.resolve.Resolver xriResolver)

setYadisResolver

public void setYadisResolver(YadisResolver yadisResolver)

setHtmlResolver

public void setHtmlResolver(HtmlResolver htmlResolver)

parseIdentifier

public static Identifier parseIdentifier(java.lang.String identifier)
                                  throws DiscoveryException
Throws:
DiscoveryException

parseIdentifier

public static Identifier parseIdentifier(java.lang.String identifier,
                                         boolean removeFragment)
                                  throws DiscoveryException
Throws:
DiscoveryException

discover

public java.util.List discover(java.lang.String identifier)
                        throws DiscoveryException
Throws:
DiscoveryException

discover

public java.util.List discover(Identifier identifier)
                        throws DiscoveryException
Throws:
DiscoveryException

extractDiscoveryInformation

private java.util.List extractDiscoveryInformation(HtmlResult htmlResult)
                                            throws DiscoveryException
Extracts OpenID discovery endpoints from a HTML discovery result.

Parameters:
htmlResult - HTML discovery result.
Returns:
List of DiscoveryInformation endpoints.
Throws:
DiscoveryException - when invalid information is discovered.

extractDiscoveryInformation

protected static java.util.List extractDiscoveryInformation(org.openxri.xml.XRDS xrds,
                                                            Identifier identifier)
                                                     throws DiscoveryException
Extracts OpenID discovery endpoints from a XRDS discovery result. Can be used for both URLs and XRIs, however the extractDiscoveryInformation(XRDS, XriIdentifier, Resolver) offers additional functionality for XRIs.

Parameters:
xrds - The discovered XRDS document.
identifier - The identifier on which discovery was performed.
Returns:
A list of DiscoveryInformation endpoints.
Throws:
DiscoveryException - when invalid information is discovered.

extractDiscoveryInformation

protected static java.util.List extractDiscoveryInformation(org.openxri.xml.XRDS xrds,
                                                            XriIdentifier identifier,
                                                            org.openxri.resolve.Resolver xriResolver)
                                                     throws DiscoveryException
Extracts OpenID discovery endpoints from a XRDS discovery result for XRI identifiers.

Parameters:
xrds - The discovered XRDS document.
identifier - The identifier on which discovery was performed.
xriResolver - The XRI resolver to use for extraction of OpenID service endpoints.
Returns:
A list of DiscoveryInformation endpoints.
Throws:
DiscoveryException - when invalid information is discovered.

extractDiscoveryInformationOpenID

public static boolean extractDiscoveryInformationOpenID(org.openxri.resolve.Resolver xriResolver,
                                                        java.util.ArrayList out,
                                                        org.openxri.xml.XRD baseXRD,
                                                        XriIdentifier identifier,
                                                        java.lang.String srvType,
                                                        boolean wantCID)

getDelegate

public static java.lang.String getDelegate(org.openxri.xml.Service service,
                                           boolean compatibility)

matchType

public static boolean matchType(org.openxri.xml.Service service,
                                java.lang.String sVal)

isProviderAuthoritative

private boolean isProviderAuthoritative(java.lang.String providerId,
                                        org.openxri.xml.CanonicalID canonicalId)

rpDiscovery

public static java.util.List rpDiscovery(java.lang.String realm,
                                         YadisResolver yadisResolver)
                                  throws DiscoveryException
Performs discovery on the Relying Party's realm and returns a list of OpenID 2.0 DiscoveryInformation entries.

Static method / caller must provide a YadisResolver so that the OP doesn't have to instantiate a Discovery object.

Parameters:
realm - RP's realm.
yadisResolver - The YadisResolver instance to be used for discovery.
Returns:
List of OpenID 2.0 DiscoveryInformation endpoints.
Throws:
DiscoveryException

extractRpDiscoveryInformation

protected static java.util.List extractRpDiscoveryInformation(org.openxri.xml.XRDS xrds)
                                                       throws DiscoveryException
Throws:
DiscoveryException


Copyright 2006-2007 Sxip Identity Corporation