public void EnsureErrorCaseQuerystringGivesTrueResult() { string authorizationCode = null; AuthResultCode resultCode = AuthResultCode.Unknown; OAuthResultParser.ParseQuerystringForCompletedFlags("?error=access_denied&error_description=denied", out resultCode, out authorizationCode); Assert.AreEqual(AuthResultCode.AccessDenied, resultCode, "Expected the result code to be set"); Assert.IsNullOrEmpty(authorizationCode, "Expected a null authorization code"); }
public void EnsureIrrelevantQuerystringGivesFalseResult() { string authorizationCode = null; AuthResultCode resultCode = AuthResultCode.Success; OAuthResultParser.ParseQuerystringForCompletedFlags("?expectingnullresult=true", out resultCode, out authorizationCode); Assert.AreEqual(AuthResultCode.Unknown, resultCode, "Expected the result code reset"); Assert.IsNullOrEmpty(authorizationCode, "Expected a null authorization code"); }
public void EnsureEmptyQuerystringGivesFalseResult() { string authorizationCode = null; AuthResultCode resultCode = AuthResultCode.Success; Assert.AreEqual(false, OAuthResultParser.ParseQuerystringForCompletedFlags(null, out resultCode, out authorizationCode), "Expected a false result"); Assert.AreEqual(AuthResultCode.Unknown, resultCode, "Expected the result code reset"); Assert.IsNullOrEmpty(authorizationCode, "Expected a null authorization code"); }
public void EnsureSuccessQuerystringGivesTrueResult() { string authCode = Guid.NewGuid().ToString(); string authorizationCode = null; AuthResultCode resultCode = AuthResultCode.Unknown; OAuthResultParser.ParseQuerystringForCompletedFlags("?code=" + authCode, out resultCode, out authorizationCode); Assert.AreEqual(AuthResultCode.Success, resultCode, "Expected the result code to be set"); Assert.AreEqual(authCode, authorizationCode, "Expected the authorization code back"); }
private async void App_ContractActivated(object sender, IActivatedEventArgs args) { if (args != null && args.Kind == ActivationKind.WebAuthenticationBrokerContinuation) { var authArgs = args as WebAuthenticationBrokerContinuationEventArgs; if (authArgs != null) { var app = MixRadioActivity.App.Current as MixRadioActivity.App; var result = authArgs.WebAuthenticationResult; if (result != null) { if (result.ResponseStatus == WebAuthenticationStatus.Success) { Debug.WriteLine("WebAuthenticationBrokerContinuation: " + result.ResponseData); var authResult = AuthResultCode.Unknown; string code = null; OAuthResultParser.ParseQuerystringForCompletedFlags(result.ResponseData, out authResult, out code); if (authResult == AuthResultCode.Success) { Debug.WriteLine("WebAuthenticationBrokerContinuation: got auth code " + code); await app.ActivityViewModel.ObtainAuthTokenAsync(code); // hide the login page now await app.MainPage.Navigation.PopModalAsync(); return; } else { Debug.WriteLine("WebAuthenticationBrokerContinuation: error " + authResult.ToString()); } } } // if the user cancelled, hide the login page await app.MainPage.Navigation.PopModalAsync(); } } }