internal static async Task GetAuthorizationRequestURLTestAsync(Sts sts) { var context = new AuthenticationContext(sts.Authority, sts.ValidateAuthority); Uri uri = null; try { uri = await context.GetAuthorizationRequestUrlAsync(null, sts.ValidClientId, sts.ValidDefaultRedirectUri, sts.ValidUserId, "extra=123"); } catch (ArgumentNullException ex) { Verify.AreEqual(ex.ParamName, "resource"); } uri = await context.GetAuthorizationRequestUrlAsync(sts.ValidResource, sts.ValidClientId, sts.ValidDefaultRedirectUri, sts.ValidUserId, "extra=123"); Verify.IsNotNull(uri); Verify.IsTrue(uri.AbsoluteUri.Contains("login_hint")); Verify.IsTrue(uri.AbsoluteUri.Contains("extra=123")); uri = await context.GetAuthorizationRequestUrlAsync(sts.ValidResource, sts.ValidClientId, sts.ValidDefaultRedirectUri, UserIdentifier.AnyUser, null); Verify.IsNotNull(uri); Verify.IsFalse(uri.AbsoluteUri.Contains("login_hint")); Verify.IsFalse(uri.AbsoluteUri.Contains("client-request-id=")); context.CorrelationId = Guid.NewGuid(); uri = await context.GetAuthorizationRequestUrlAsync(sts.ValidResource, sts.ValidClientId, sts.ValidDefaultRedirectUri, sts.ValidUserId, "extra"); Verify.IsNotNull(uri); Verify.IsTrue(uri.AbsoluteUri.Contains("client-request-id=")); }