Exemplo n.º 1
0
        public void StripXriScheme()
        {
            var xri = new XriIdentifier("xri://" + this.goodXri);

            Assert.AreEqual("xri://" + this.goodXri, xri.OriginalXri);
            Assert.AreEqual(this.goodXri, xri.CanonicalXri);
        }
Exemplo n.º 2
0
 public void CtorGoodXriSecure()
 {
     var xri = new XriIdentifier(goodXri, true);
     Assert.AreEqual(goodXri, xri.OriginalXri);
     Assert.AreEqual(goodXri, xri.CanonicalXri); // assumes 'goodXri' is canonical already
     Assert.IsTrue(xri.IsDiscoverySecureEndToEnd);
 }
Exemplo n.º 3
0
        public void CtorGoodXriSecure()
        {
            var xri = new XriIdentifier(this.goodXri, true);

            Assert.AreEqual(this.goodXri, xri.OriginalXri);
            Assert.AreEqual(this.goodXri, xri.CanonicalXri);             // assumes 'goodXri' is canonical already
            Assert.IsTrue(xri.IsDiscoverySecureEndToEnd);
        }
Exemplo n.º 4
0
 internal IEnumerable<ServiceEndpoint> CreateServiceEndpoints(XriIdentifier userSuppliedIdentifier)
 {
     List<ServiceEndpoint> endpoints = new List<ServiceEndpoint>();
     endpoints.AddRange(generateOPIdentifierServiceEndpoints(userSuppliedIdentifier));
     // If any OP Identifier service elements were found, we must not proceed
     // to return any Claimed Identifier services.
     if (endpoints.Count == 0) {
         endpoints.AddRange(generateClaimedIdentifierServiceEndpoints(userSuppliedIdentifier));
     }
     return endpoints;
 }
Exemplo n.º 5
0
		internal IEnumerable<ServiceEndpoint> CreateServiceEndpoints(XriIdentifier userSuppliedIdentifier) {
			List<ServiceEndpoint> endpoints = new List<ServiceEndpoint>();
			endpoints.AddRange(generateOPIdentifierServiceEndpoints(userSuppliedIdentifier));
			// If any OP Identifier service elements were found, we must not proceed
			// to return any Claimed Identifier services.
			if (endpoints.Count == 0) {
				endpoints.AddRange(generateClaimedIdentifierServiceEndpoints(userSuppliedIdentifier));
			}
			Logger.DebugFormat("Total services discovered in XRDS: {0}", endpoints.Count);
			Logger.Debug(Util.ToString(endpoints, true));
			return endpoints;
		}
Exemplo n.º 6
0
        internal IEnumerable <ServiceEndpoint> CreateServiceEndpoints(XriIdentifier userSuppliedIdentifier)
        {
            List <ServiceEndpoint> endpoints = new List <ServiceEndpoint>();

            endpoints.AddRange(generateOPIdentifierServiceEndpoints(userSuppliedIdentifier));
            // If any OP Identifier service elements were found, we must not proceed
            // to return any Claimed Identifier services.
            if (endpoints.Count == 0)
            {
                endpoints.AddRange(generateClaimedIdentifierServiceEndpoints(userSuppliedIdentifier));
            }
            Logger.DebugFormat("Total services discovered in XRDS: {0}", endpoints.Count);
            Logger.Debug(Util.ToString(endpoints, true));
            return(endpoints);
        }
Exemplo n.º 7
0
		IEnumerable<ServiceEndpoint> generateClaimedIdentifierServiceEndpoints(XriIdentifier userSuppliedIdentifier) {
			foreach (var service in findClaimedIdentifierServices()) {
				foreach (var uri in service.UriElements) {
					// spec section 7.3.2.3 on Claimed Id -> CanonicalID substitution
					if (service.Xrd.CanonicalID == null) {
						Logger.WarnFormat(Strings.MissingCanonicalIDElement, userSuppliedIdentifier);
						break; // skip on to next service
					}
					if (!service.Xrd.IsCanonicalIdVerified) {
						throw new OpenIdException(Strings.CIDVerificationFailed, userSuppliedIdentifier);
					}
					// In the case of XRI names, the ClaimedId is actually the CanonicalID.
					var claimedIdentifier = new XriIdentifier(service.Xrd.CanonicalID);
					yield return ServiceEndpoint.CreateForClaimedIdentifier(
						claimedIdentifier, userSuppliedIdentifier, service.ProviderLocalIdentifier,
						uri.Uri, service.TypeElementUris, service.Priority, uri.Priority);
				}
			}
		}
Exemplo n.º 8
0
 IEnumerable <ServiceEndpoint> generateClaimedIdentifierServiceEndpoints(XriIdentifier userSuppliedIdentifier)
 {
     foreach (var service in findClaimedIdentifierServices())
     {
         foreach (var uri in service.UriElements)
         {
             // spec section 7.3.2.3 on Claimed Id -> CanonicalID substitution
             if (service.Xrd.CanonicalID == null)
             {
                 Logger.WarnFormat(Strings.MissingCanonicalIDElement, userSuppliedIdentifier);
                 break;                         // skip on to next service
             }
             if (!service.Xrd.IsCanonicalIdVerified)
             {
                 throw new OpenIdException(Strings.CIDVerificationFailed, userSuppliedIdentifier);
             }
             // In the case of XRI names, the ClaimedId is actually the CanonicalID.
             var claimedIdentifier = new XriIdentifier(service.Xrd.CanonicalID);
             yield return(ServiceEndpoint.CreateForClaimedIdentifier(
                              claimedIdentifier, userSuppliedIdentifier, service.ProviderLocalIdentifier,
                              uri.Uri, service.TypeElementUris, service.Priority, uri.Priority));
         }
     }
 }
Exemplo n.º 9
0
		public void TrimFragment() {
			Identifier xri = new XriIdentifier(goodXri);
			Assert.AreSame(xri, xri.TrimFragment());
		}
Exemplo n.º 10
0
		public void StripXriScheme() {
			var xri = new XriIdentifier("xri://" + goodXri);
			Assert.AreEqual("xri://" + goodXri, xri.OriginalXri);
			Assert.AreEqual(goodXri, xri.CanonicalXri);
		}
Exemplo n.º 11
0
        public void TrimFragment()
        {
            Identifier xri = new XriIdentifier(this.goodXri);

            Assert.AreSame(xri, xri.TrimFragment());
        }
Exemplo n.º 12
0
 public void IsValid()
 {
     Assert.IsTrue(XriIdentifier.IsValidXri(this.goodXri));
     Assert.IsFalse(XriIdentifier.IsValidXri(this.badXri));
 }