public void Should_provide_shared_secret_based_identification() { const string name = "Facebook access to API"; var purpose = new[] { "api" }; var identity = _identityDirectory.CreateIdentity(); var secret = _identityStore.AddSharedSecret(identity, name, purpose); var result = _identityStore.AuthenticateWithSharedSecret(secret); Assert.IsNotNull(result); Assert.AreEqual(identity, result.Identity); Assert.AreEqual(purpose.Length, result.Purposes.Count); Assert.AreEqual(purpose[0], result.Purposes[0]); Assert.AreEqual(AuthenticationStatus.Authenticated, result.Status); result = _identityStore.AuthenticateWithSharedSecret(Guid.NewGuid().ToString()); Assert.AreEqual(AuthenticationStatus.NotFound, result.Status); _identityStore.DeleteSharedSecret(secret); result = _identityStore.AuthenticateWithSharedSecret(secret); Assert.AreEqual(AuthenticationStatus.NotFound, result.Status); }