public void GetExpTime_FindsTime() { var info = TestHelpers.GetValidTokenInfoRequestResponse(); var payload = JsonDocument.Parse(info).RootElement; var dateTime = CloudFoundryHelper.GetExpTime(payload); Assert.Equal(new DateTime(2016, 9, 2, 8, 04, 23, DateTimeKind.Utc), dateTime); }
public void GetIssueTime_FindsTime() { var info = TestHelpers.GetValidTokenInfoRequestResponse(); var payload = JObject.Parse(info); var dateTime = CloudFoundryHelper.GetIssueTime(payload); Assert.Equal(new DateTime(2016, 9, 1, 20, 04, 23, DateTimeKind.Utc), dateTime); }
public void GetScopes_FindsScopes() { var info = TestHelpers.GetValidTokenInfoRequestResponse(); var payload = JObject.Parse(info); var scopes = CloudFoundryHelper.GetScopes(payload); Assert.Contains("openid", scopes); Assert.Single(scopes); }
public void GetBackChannelHandler_ReturnsExpected() { var result1 = CloudFoundryHelper.GetBackChannelHandler(false); Assert.NotNull(result1); var result2 = CloudFoundryHelper.GetBackChannelHandler(true); Assert.Null(result2); }
public void GetTokenValidationParameters_ReturnsExpected() { var parameters = CloudFoundryHelper.GetTokenValidationParameters(null, "https://foo.bar.com/keyurl", null, false); Assert.False(parameters.ValidateAudience, "Audience validation should not be enabled by default"); Assert.True(parameters.ValidateIssuer, "Issuer validation should be enabled by default"); Assert.NotNull(parameters.IssuerValidator); Assert.True(parameters.ValidateLifetime, "Token lifetime validation should be enabled by default"); Assert.NotNull(parameters.IssuerSigningKeyResolver); }
public void GetTokenValidationParameters_ReturnsExpected() { var parameters = CloudFoundryHelper.GetTokenValidationParameters(null, "https://foo.bar.com/keyurl", null, false); Assert.True(parameters.ValidateAudience); Assert.True(parameters.ValidateIssuer); Assert.NotNull(parameters.IssuerValidator); // Assert.Equal(cftv.ValidateIssuer, parameters.IssuerValidator); Assert.True(parameters.ValidateLifetime); Assert.NotNull(parameters.IssuerSigningKeyResolver); }
public void GetIssueTime_FindsTime() { var info = TestHelpers.GetValidTokenInfoRequestResponse(); #if NETCOREAPP3_0 var payload = JsonDocument.Parse(info).RootElement; #else var payload = JObject.Parse(info); #endif var dateTime = CloudFoundryHelper.GetIssueTime(payload); Assert.Equal(new DateTime(2016, 9, 1, 20, 04, 23, DateTimeKind.Utc), dateTime); }
public void GetScopes_FindsScopes() { var info = TestHelpers.GetValidTokenInfoRequestResponse(); #if NETCOREAPP3_0 var payload = JsonDocument.Parse(info).RootElement; #else var payload = JObject.Parse(info); #endif var scopes = CloudFoundryHelper.GetScopes(payload); Assert.Contains("openid", scopes); Assert.Single(scopes); }
public void GetBackChannelHandler_ReturnsExpected() { var result1 = CloudFoundryHelper.GetBackChannelHandler(false); if (Platform.IsFullFramework) { Assert.Null(result1); } else { Assert.NotNull(result1); } var result2 = CloudFoundryHelper.GetBackChannelHandler(true); Assert.Null(result2); }
/// <summary> /// Apply service binding info to an <see cref="CloudFoundryOptions"/> instance /// </summary> /// <param name="si">Service binding information</param> /// <param name="options">CloudFoundryOptions options to be updated</param> internal static void Configure(SsoServiceInfo si, CloudFoundryOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (si == null) { return; } options.AuthorizationUrl = si.AuthDomain; options.ClientId = si.ClientId; options.ClientSecret = si.ClientSecret; var backchannelHttpHandler = CloudFoundryHelper.GetBackChannelHandler(options.ValidateCertificates); options.TokenValidationParameters = CloudFoundryHelper.GetTokenValidationParameters(options.TokenValidationParameters, options.AuthorizationUrl + CloudFoundryDefaults.JwtTokenUri, backchannelHttpHandler, options.ValidateCertificates, options); }