public void BrokerInteractiveRequestTest() { 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.s_extraQueryParams); // Act IBroker broker = harness.ServiceBundle.PlatformProxy.CreateBroker(); _brokerInteractiveRequest = new BrokerInteractiveRequest( parameters, null, harness.ServiceBundle, null, broker); Assert.AreEqual(false, _brokerInteractiveRequest.Broker.CanInvokeBroker(null)); AssertException.TaskThrowsAsync <PlatformNotSupportedException>(() => _brokerInteractiveRequest.Broker.AcquireTokenUsingBrokerAsync(new Dictionary <string, string>())).ConfigureAwait(false); } }
internal override async Task <AuthenticationResult> ExecuteAsync(CancellationToken cancellationToken) { await ResolveAuthorityEndpointsAsync().ConfigureAwait(false); await AcquireAuthorizationAsync(cancellationToken).ConfigureAwait(false); VerifyAuthorizationResult(); if (AuthenticationRequestParameters.IsBrokerEnabled) { var brokerInteractiveRequest = new BrokerInteractiveRequest( AuthenticationRequestParameters, _interactiveParameters, ServiceBundle, _authorizationResult); if (brokerInteractiveRequest.IsBrokerInvocationRequired()) { _msalTokenResponse = await brokerInteractiveRequest.SendTokenRequestToBrokerAsync().ConfigureAwait(false); } } else { _msalTokenResponse = await SendTokenRequestAsync(GetBodyParameters(), cancellationToken).ConfigureAwait(false); } return(await CacheTokenResponseAndCreateAuthenticationResultAsync(_msalTokenResponse).ConfigureAwait(false)); }
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(); InteractiveRequest request = new InteractiveRequest( harness.ServiceBundle, parameters, interactiveParameters, new MockWebUI()); IBroker broker = harness.ServiceBundle.PlatformProxy.CreateBroker(); _brokerInteractiveRequest = new BrokerInteractiveRequest( parameters, interactiveParameters, harness.ServiceBundle, null, broker); } }
private void CreateBrokerHelper() { using (MockHttpAndServiceBundle harness = CreateTestHarness()) { AuthenticationRequestParameters parameters = harness.CreateAuthenticationRequestParameters( MsalTestConstants.AuthorityHomeTenant, MsalTestConstants.Scope, new TokenCache(harness.ServiceBundle), extraQueryParameters: MsalTestConstants.ExtraQueryParams, claims: MsalTestConstants.Claims); parameters.IsBrokerEnabled = true; AcquireTokenInteractiveParameters interactiveParameters = new AcquireTokenInteractiveParameters(); InteractiveRequest request = new InteractiveRequest( harness.ServiceBundle, parameters, interactiveParameters, new MockWebUI()); BrokerFactory brokerFactory = new BrokerFactory(); _brokerInteractiveRequest = new BrokerInteractiveRequest(parameters, interactiveParameters, harness.ServiceBundle, null, brokerFactory.Create(harness.ServiceBundle)); } }
private async Task <MsalTokenResponse> ExecuteBrokerAsync(CancellationToken cancellationToken) { IBroker broker = base.ServiceBundle.PlatformProxy.CreateBroker(); var brokerInteractiveRequest = new BrokerInteractiveRequest( AuthenticationRequestParameters, _interactiveParameters, ServiceBundle, _authorizationResult, broker); return(await brokerInteractiveRequest.SendTokenRequestToBrokerAsync().ConfigureAwait(false)); }
public void BrokerInteractiveRequest_CreateBrokerParametersTest() { using (var harness = CreateTestHarness()) { // Arrange var parameters = harness.CreateAuthenticationRequestParameters( TestConstants.AuthorityTestTenant, TestConstants.s_scope, new TokenCache(harness.ServiceBundle, false), null, TestConstants.s_extraQueryParams); AcquireTokenInteractiveParameters interactiveParameters = new AcquireTokenInteractiveParameters(); // Act IBroker broker = harness.ServiceBundle.PlatformProxy.CreateBroker(null); BrokerInteractiveRequest brokerInteractiveRequest = new BrokerInteractiveRequest( parameters, interactiveParameters, harness.ServiceBundle, null, broker); brokerInteractiveRequest.CreateRequestParametersForBroker(); // Assert Assert.AreEqual(11, brokerInteractiveRequest.BrokerPayload.Count); Assert.AreEqual(s_canonicalizedAuthority, brokerInteractiveRequest.BrokerPayload[BrokerParameter.Authority]); Assert.AreEqual(TestConstants.ScopeStr, brokerInteractiveRequest.BrokerPayload[BrokerParameter.Scope]); Assert.AreEqual(TestConstants.ClientId, brokerInteractiveRequest.BrokerPayload[BrokerParameter.ClientId]); Assert.IsFalse(string.IsNullOrEmpty(brokerInteractiveRequest.BrokerPayload[BrokerParameter.CorrelationId])); Assert.AreNotEqual(Guid.Empty.ToString(), brokerInteractiveRequest.BrokerPayload[BrokerParameter.CorrelationId]); Assert.AreEqual(MsalIdHelper.GetMsalVersion(), brokerInteractiveRequest.BrokerPayload[BrokerParameter.ClientVersion]); Assert.AreEqual("NO", brokerInteractiveRequest.BrokerPayload[BrokerParameter.Force]); Assert.AreEqual(string.Empty, brokerInteractiveRequest.BrokerPayload[BrokerParameter.Username]); Assert.AreEqual(TestConstants.RedirectUri, brokerInteractiveRequest.BrokerPayload[BrokerParameter.RedirectUri]); Assert.AreEqual(TestConstants.BrokerExtraQueryParameters, brokerInteractiveRequest.BrokerPayload[BrokerParameter.ExtraQp]); //Assert.AreEqual(TestConstants.BrokerClaims, brokerInteractiveRequest._brokerPayload[BrokerParameter.Claims]); //TODO Assert.AreEqual(BrokerParameter.OidcScopesValue, brokerInteractiveRequest.BrokerPayload[BrokerParameter.ExtraOidcScopes]); } }
public void BrokerInteractiveRequestTest() { string CanonicalizedAuthority = AuthorityInfo.CanonicalizeAuthorityUri(CoreHelpers.UrlDecode(MsalTestConstants.AuthorityTestTenant)); using (var harness = CreateTestHarness()) { // Arrange var parameters = harness.CreateAuthenticationRequestParameters( MsalTestConstants.AuthorityTestTenant, null, null, null, MsalTestConstants.ExtraQueryParams); // Act BrokerFactory brokerFactory = new BrokerFactory(); BrokerInteractiveRequest brokerInteractiveRequest = new BrokerInteractiveRequest(parameters, null, null, null, brokerFactory.Create(harness.ServiceBundle)); Assert.AreEqual(false, brokerInteractiveRequest.Broker.CanInvokeBroker(null)); AssertException.TaskThrowsAsync <PlatformNotSupportedException>(() => brokerInteractiveRequest.Broker.AcquireTokenUsingBrokerAsync(new Dictionary <string, string>())).ConfigureAwait(false); } }
public void BrokerInteractiveRequest_CreateBrokerParametersTest() { using (var harness = CreateTestHarness()) { // Arrange var parameters = harness.CreateAuthenticationRequestParameters( MsalTestConstants.AuthorityTestTenant, null, null, null, MsalTestConstants.ExtraQueryParams); // Act BrokerInteractiveRequest brokerInteractiveRequest = new BrokerInteractiveRequest(parameters, null, null, null); brokerInteractiveRequest.CreateRequestParametersForBroker(); // Assert Assert.AreEqual(10, brokerInteractiveRequest._brokerPayload.Count); Assert.AreEqual(CanonicalizedAuthority, brokerInteractiveRequest._brokerPayload[BrokerParameter.Authority]); Assert.AreEqual(MsalTestConstants.ScopeStr, brokerInteractiveRequest._brokerPayload[BrokerParameter.RequestScopes]); Assert.AreEqual(MsalTestConstants.ClientId, brokerInteractiveRequest._brokerPayload[BrokerParameter.ClientId]); Assert.IsFalse(String.IsNullOrEmpty(brokerInteractiveRequest._brokerPayload[BrokerParameter.CorrelationId])); Assert.AreNotEqual(Guid.Empty.ToString(), brokerInteractiveRequest._brokerPayload[BrokerParameter.CorrelationId]); Assert.AreEqual(MsalIdHelper.GetMsalVersion(), brokerInteractiveRequest._brokerPayload[BrokerParameter.ClientVersion]); Assert.AreEqual("NO", brokerInteractiveRequest._brokerPayload[BrokerParameter.Force]); Assert.AreEqual(string.Empty, brokerInteractiveRequest._brokerPayload[BrokerParameter.Username]); Assert.AreEqual(MsalTestConstants.RedirectUri, brokerInteractiveRequest._brokerPayload[BrokerParameter.RedirectUri]); Assert.AreEqual(MsalTestConstants.BrokerExtraQueryParameters, brokerInteractiveRequest._brokerPayload[BrokerParameter.ExtraQp]); //Assert.AreEqual(MsalTestConstants.BrokerClaims, brokerInteractiveRequest._brokerPayload[BrokerParameter.Claims]); //TODO Assert.AreEqual(BrokerParameter.OidcScopesValue, brokerInteractiveRequest._brokerPayload[BrokerParameter.ExtraOidcScopes]); } }