public void SignInCommand_WithHttpsPublicOrigin_SetsSecureCookieFlag() { var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443")); var httpRequest = new HttpRequestData("GET", new Uri("http://localhost")); var actual = SignInCommand.Run(options.IdentityProviders.Default.EntityId, null, httpRequest, options, null); actual.SetCookieName.Should().StartWith(StoredRequestState.CookieNameBase); actual.SetCookieSecureFlag.Should().BeTrue(); }
public async Task Saml2Urls_Ctor_FromOwinHttpRequestData_PublicOrigin() { var ctx = OwinTestHelpers.CreateOwinContext(); var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443/")); var subject = await ctx.ToHttpRequestData(null, Options.FromConfiguration.Notifications?.GetRelayState); var urls = new Saml2Urls(subject, options); urls.AssertionConsumerServiceUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/Saml2/Acs"); urls.SignInUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/Saml2/SignIn"); }
public async Task AuthServicesUrls_Ctor_FromOwinHttpRequestData_PublicOrigin() { var ctx = OwinTestHelpers.CreateOwinContext(); var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443/")); var subject = await ctx.ToHttpRequestData(null); var urls = new AuthServicesUrls(subject, options); urls.AssertionConsumerServiceUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/AuthServices/Acs"); urls.SignInUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/AuthServices/SignIn"); }
public void SignInCommand_Run_PublicOrigin() { var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443")); var idp = options.IdentityProviders.Default; var request = new HttpRequestData("GET", new Uri("http://sp.example.com?idp=" + Uri.EscapeDataString(idp.EntityId.Id))); var subject = new SignInCommand().Run(request, Options.FromConfiguration); subject.Location.Host.Should().Be(new Uri("https://idp.example.com").Host); }
public void Saml2Urls_Ctor_PerRequest_PublicOrigin() { var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443/")); options.Notifications.GetPublicOrigin = (requestData) => { return(new Uri("https://special.public.origin/")); }; var urls = new Saml2Urls(new HttpRequestData("get", new Uri("http://servername/")), options); urls.AssertionConsumerServiceUrl.Should().BeEquivalentTo(new Uri("https://special.public.origin/Saml2/Acs")); urls.SignInUrl.Should().BeEquivalentTo(new Uri("https://special.public.origin/Saml2/SignIn")); }
public async Task Saml2Urls_Ctor_FromOwinHttpRequestData_PublicOrigin() { var ctx = OwinTestHelpers.CreateOwinContext(); var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443/")); var subject = await ctx.ToHttpRequestData(Substitute.For <ICookieManager>(), null); var urls = new Saml2Urls(subject, options); urls.AssertionConsumerServiceUrl.Should().BeEquivalentTo( new Uri("https://my.public.origin:8443/Saml2/Acs")); urls.SignInUrl.Should().BeEquivalentTo( new Uri("https://my.public.origin:8443/Saml2/SignIn")); }
public void Saml2Urls_Ctor_FromHttpRequest_PublicOrigin() { var url = new Uri("http://example.com:42/ApplicationPath/Path?name=DROP%20TABLE%20STUDENTS"); string appPath = "/ApplicationPath"; var request = Substitute.For <HttpRequestBase>(); request.HttpMethod.Returns("GET"); request.Url.Returns(url); request.Form.Returns(new NameValueCollection { { "Key", "Value" } }); request.ApplicationPath.Returns(appPath); var options = StubFactory.CreateOptionsPublicOrigin(new Uri("https://my.public.origin:8443/OtherPath")); var subject = request.ToHttpRequestData(); var urls = new Saml2Urls(subject, options); urls.AssertionConsumerServiceUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/OtherPath/Saml2/Acs"); urls.SignInUrl.ShouldBeEquivalentTo("https://my.public.origin:8443/OtherPath/Saml2/SignIn"); }
public void IdentityProvider_CreateAuthenticateRequest_PublicOrigin() { var origin = new Uri("https://my.public.origin:8443/"); var options = StubFactory.CreateOptionsPublicOrigin(origin); var idp = options.IdentityProviders.Default; var urls = StubFactory.CreateSaml2UrlsPublicOrigin(origin); var subject = idp.CreateAuthenticateRequest(urls); var expected = new Saml2AuthenticationRequest() { AssertionConsumerServiceUrl = urls.AssertionConsumerServiceUrl, DestinationUrl = idp.SingleSignOnServiceUrl, Issuer = options.SPOptions.EntityId, AttributeConsumingServiceIndex = 0 }; subject.Should().BeEquivalentTo(expected, opt => opt .Excluding(au => au.Id) .Excluding(au => au.SigningAlgorithm) .Excluding(au => au.RelayState)); }