Пример #1
0
 /// <summary>
 /// Generates OpenID Providers that can authenticate using directed identity.
 /// </summary>
 /// <param name="xrds">The XrdsDocument instance to use in this process.</param>
 /// <param name="opIdentifier">The OP Identifier entered (and resolved) by the user.  Essentially the user-supplied identifier.</param>
 /// <returns>A sequence of the providers that can offer directed identity services.</returns>
 private static IEnumerable <IdentifierDiscoveryResult> GenerateOPIdentifierServiceEndpoints(this IEnumerable <XrdElement> xrds, Identifier opIdentifier)
 {
     Requires.NotNull(xrds, "xrds");
     Requires.NotNull(opIdentifier, "opIdentifier");
     return(from service in xrds.FindOPIdentifierServices()
            from uri in service.UriElements
            let protocol = Protocol.FindBestVersion(p => p.OPIdentifierServiceTypeURI, service.TypeElementUris)
                           let providerDescription = new ProviderEndpointDescription(uri.Uri, service.TypeElementUris)
                                                     select IdentifierDiscoveryResult.CreateForProviderIdentifier(opIdentifier, providerDescription, service.Priority, uri.Priority));
 }
Пример #2
0
 /// <summary>
 /// Generates OpenID Providers that can authenticate using directed identity.
 /// </summary>
 /// <param name="xrds">The XrdsDocument instance to use in this process.</param>
 /// <param name="opIdentifier">The OP Identifier entered (and resolved) by the user.  Essentially the user-supplied identifier.</param>
 /// <returns>A sequence of the providers that can offer directed identity services.</returns>
 private static IEnumerable <IdentifierDiscoveryResult> GenerateOPIdentifierServiceEndpoints(this IEnumerable <XrdElement> xrds, Identifier opIdentifier)
 {
     Contract.Requires <ArgumentNullException>(xrds != null);
     Contract.Requires <ArgumentNullException>(opIdentifier != null);
     Contract.Ensures(Contract.Result <IEnumerable <IdentifierDiscoveryResult> >() != null);
     return(from service in xrds.FindOPIdentifierServices()
            from uri in service.UriElements
            let protocol = Protocol.FindBestVersion(p => p.OPIdentifierServiceTypeURI, service.TypeElementUris)
                           let providerDescription = new ProviderEndpointDescription(uri.Uri, service.TypeElementUris)
                                                     select IdentifierDiscoveryResult.CreateForProviderIdentifier(opIdentifier, providerDescription, service.Priority, uri.Priority));
 }