Beispiel #1
0
        public void BrokerSilentRequestTest()
        {
            string CanonicalizedAuthority = AuthorityInfo.CanonicalizeAuthorityUri(CoreHelpers.UrlDecode(TestConstants.AuthorityTestTenant));

            using (var harness = CreateTestHarness())
            {
                // Arrange
                var parameters = harness.CreateAuthenticationRequestParameters(
                    TestConstants.AuthorityTestTenant,
                    TestConstants.s_scope,
                    new TokenCache(harness.ServiceBundle, false),
                    null,
                    TestConstants.ExtraQueryParameters);

                // Act
                IBroker broker = harness.ServiceBundle.PlatformProxy.CreateBroker(null);
                _brokerSilentRequest =
                    new BrokerSilentRequest(
                        parameters,
                        null,
                        harness.ServiceBundle,
                        broker);
                Assert.AreEqual(false, _brokerSilentRequest.Broker.CanInvokeBroker());
                AssertException.TaskThrowsAsync <PlatformNotSupportedException>(() => _brokerSilentRequest.Broker.AcquireTokenUsingBrokerAsync(new Dictionary <string, string>())).ConfigureAwait(false);
            }
        }
        private async Task <MsalTokenResponse> ExecuteBrokerAsync(CancellationToken cancellationToken)
        {
            IBroker broker = base.ServiceBundle.PlatformProxy.CreateBroker(null);

            var brokerSilentRequest = new BrokerSilentRequest(
                AuthenticationRequestParameters,
                _silentParameters,
                ServiceBundle,
                broker);

            return(await brokerSilentRequest.SendTokenRequestToBrokerAsync().ConfigureAwait(false));
        }
        public void BrokerSilentRequest_CreateBrokerParametersTest()
        {
            using (var harness = CreateTestHarness())
            {
                // Arrange
                var parameters = harness.CreateAuthenticationRequestParameters(
                    TestConstants.AuthorityTestTenant,
                    TestConstants.s_scope,
                    new TokenCache(harness.ServiceBundle, false),
                    null,
                    TestConstants.ExtraQueryParameters);
                AcquireTokenSilentParameters acquireTokenSilentParameters = new AcquireTokenSilentParameters();

                // Act
                IBroker             broker = harness.ServiceBundle.PlatformProxy.CreateBroker(null);
                BrokerSilentRequest brokerSilentRequest =
                    new BrokerSilentRequest(
                        parameters,
                        acquireTokenSilentParameters,
                        harness.ServiceBundle,
                        broker);

                brokerSilentRequest.CreateRequestParametersForBroker();

                // Assert
                Assert.AreEqual(13, brokerSilentRequest.BrokerPayload.Count);
                Assert.AreEqual(s_canonicalizedAuthority, brokerSilentRequest.BrokerPayload[BrokerParameter.Authority]);
                Assert.AreEqual(TestConstants.ScopeStr, brokerSilentRequest.BrokerPayload[BrokerParameter.Scope]);
                Assert.AreEqual(TestConstants.ClientId, brokerSilentRequest.BrokerPayload[BrokerParameter.ClientId]);
                Assert.IsFalse(string.IsNullOrEmpty(brokerSilentRequest.BrokerPayload[BrokerParameter.CorrelationId]));
                Assert.AreNotEqual(Guid.Empty.ToString(), brokerSilentRequest.BrokerPayload[BrokerParameter.CorrelationId]);
                Assert.AreEqual(MsalIdHelper.GetMsalVersion(), brokerSilentRequest.BrokerPayload[BrokerParameter.ClientVersion]);
                Assert.AreEqual(TestConstants.RedirectUri, brokerSilentRequest.BrokerPayload[BrokerParameter.RedirectUri]);
                Assert.AreEqual(TestConstants.BrokerExtraQueryParameters, brokerSilentRequest.BrokerPayload[BrokerParameter.ExtraQp]);
                Assert.AreEqual(TestConstants.BrokerOIDCScopes, brokerSilentRequest.BrokerPayload[BrokerParameter.ExtraOidcScopes]);
                Assert.IsTrue(string.IsNullOrEmpty(brokerSilentRequest.BrokerPayload[BrokerParameter.Username]));
                Assert.AreEqual("False", brokerSilentRequest.BrokerPayload[BrokerParameter.ForceRefresh]);
            }
        }
Beispiel #4
0
        private void CreateBrokerHelper()
        {
            using (MockHttpAndServiceBundle harness = CreateTestHarness())
            {
                AuthenticationRequestParameters parameters = harness.CreateAuthenticationRequestParameters(
                    TestConstants.AuthorityHomeTenant,
                    TestConstants.s_scope,
                    new TokenCache(harness.ServiceBundle, false),
                    extraQueryParameters: TestConstants.s_extraQueryParams,
                    claims: TestConstants.Claims);

                parameters.IsBrokerEnabled = true;

                AcquireTokenInteractiveParameters interactiveParameters        = new AcquireTokenInteractiveParameters();
                AcquireTokenSilentParameters      acquireTokenSilentParameters = new AcquireTokenSilentParameters();

                InteractiveRequest request = new InteractiveRequest(
                    harness.ServiceBundle,
                    parameters,
                    interactiveParameters,
                    new MockWebUI());

                IBroker broker = harness.ServiceBundle.PlatformProxy.CreateBroker(null);
                _brokerInteractiveRequest =
                    new BrokerInteractiveRequest(
                        parameters,
                        interactiveParameters,
                        harness.ServiceBundle,
                        null,
                        broker);

                _brokerSilentRequest =
                    new BrokerSilentRequest(
                        parameters,
                        acquireTokenSilentParameters,
                        harness.ServiceBundle,
                        broker);
            }
        }