public async Task IsRedirectUriValidAsync_CallsBaseAndFails_ForInvalidRedirectUrisOnRegularClients() { // Arrange var providedFullUrl = "https://localhost:5001/notregistered"; var expectedClient = new Client { RedirectUris = { "https://localhost:5001/authenticate" }, }; var factory = new TestUrlFactory(); var redirectUriValidator = new RelativeRedirectUriValidator(factory); // Act var validator = await redirectUriValidator.IsRedirectUriValidAsync(providedFullUrl, expectedClient); // Assert Assert.False(validator); }
public async Task IsPostLogoutRedirectUriValidAsync_CallsBaseAndSucceeds_ForValidPostLogoutRedirectUrisOnRegularClients() { // Arrange var providedFullUrl = "https://localhost:5001/logout"; var expectedClient = new Client { PostLogoutRedirectUris = { "https://localhost:5001/logout" }, }; var factory = new TestUrlFactory(); var redirectUriValidator = new RelativeRedirectUriValidator(factory); // Act var validator = await redirectUriValidator.IsPostLogoutRedirectUriValidAsync(providedFullUrl, expectedClient); // Assert Assert.True(validator); }
public async Task IsPostLogoutRedirectUriValidAsync_ConvertsRelativeUrisIntoAbsoluteUris_ForLocalSPAsAsync() { // Arrange var expectedRelativeUri = "/logout"; var providedFullUrl = "https://localhost:5001/logout"; var expectedClient = new Client { PostLogoutRedirectUris = { expectedRelativeUri }, Properties = new Dictionary <string, string> { [ApplicationProfilesPropertyNames.Profile] = ApplicationProfiles.IdentityServerSPA, } }; var factory = new TestUrlFactory(expectedRelativeUri, providedFullUrl); var redirectUriValidator = new RelativeRedirectUriValidator(factory); // Act var validator = await redirectUriValidator.IsPostLogoutRedirectUriValidAsync(providedFullUrl, expectedClient); // Assert Assert.True(validator); }
public async Task IsRedirectUriValidAsync_RejectsIfTheRelativeUriIsNotRegistered_ForLocalSPAsAsync() { // Arrange var expectedRelativeUri = "/authenticate"; var providedFullUrl = "https://localhost:5001/notregistered"; var expectedClient = new Client { RedirectUris = { expectedRelativeUri }, Properties = new Dictionary <string, string> { [ApplicationProfilesPropertyNames.Profile] = ApplicationProfiles.IdentityServerSPA, } }; var factory = new TestUrlFactory(); var redirectUriValidator = new RelativeRedirectUriValidator(factory); // Act var validator = await redirectUriValidator.IsRedirectUriValidAsync(providedFullUrl, expectedClient); // Assert Assert.False(validator); }